ѡ̳

标题: 一段可以替代eval的代码 [打印本页]

作者: admin    时间: 2019-11-22 19:28
标题: 一段可以替代eval的代码
原有的代码依赖eval实现
容易被黑客利用
$str  = "<tr id='catid_{\$id}'>
                                        <td align='center'><input name='listorders[{\$id}]' type='text' size='3' value='{\$listorder}' class='input-text-c'></td>
                                        <td align='center'>{\$id}</td>
                                        <td >{\$spacer}{\$catname}{\$display_icon}{\$display_rec}</td>
                                        <td>{\$typename}</td>
                                        <td>{\$modelname}</td>
                                        <td align='center'>{\$items}</td>
                                        <td align='center'>{\$url}</td>
                                        <td align='center' >{\$str_manage}</td>
                                </tr>";

$values_arr = array('id'=>1,'listorder'=>2,'spacer'=>3,'catname'=>4,'display_icon'=>5,
'display_rec'=>6,'typename'=>7,'modelname'=>8,'items'=>9,'url'=>10,'str_manage'=>"#",);

$search_arr  = array();
foreach(array_keys($values_arr)  as $v){

   $search_arr[] = '{$'.$v."}";  

}

$replace_arr = array_values($values_arr);

                                
        $nstr = str_replace($search_arr,$replace_arr,$str);

        echo $nstr;






欢迎光临 ѡ̳ (http://www.sunminxuan.cn/bbs/) Powered by Discuz! X3.4