ѡ̳

 找回密码
 ע
搜索
查看: 196|回复: 0
打印 上一主题 下一主题

一段可以替代eval的代码

[复制链接]

789

主题

1158

帖子

4197

积分

Ա

Rank: 9Rank: 9Rank: 9

积分
4197
跳转到指定楼层
¥
发表于 2019-11-22 19:28:44 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
原有的代码依赖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;

回复

使用道具 举报

您需要登录后才可以回帖 登录 | ע

本版积分规则

QQ|Archiver|ֻ|С|ѡ̳

GMT+8, 2026-5-2 03:19 , Processed in 0.076976 second(s), 20 queries .

Powered by Discuz! X3.4

Copyright © 2001-2020, Tencent Cloud.

快速回复 返回顶部 返回列表
0.0946s