A5下载 - 努力做内容最丰富最安全的下载站!

A5站长下载站

当前位置:A5下载 > 源码技巧 > Ecshop > ecshop修饰符preg_replace/e不安全的几处改动

ecshop修饰符preg_replace/e不安全的几处改动

时间:2015-07-03 10:02作者:fang人气:180

主要集中在 upload/includes/cls_template.php 文件中:

1:line 300 :

原语句:

return preg_replace("/{([^}{n]*)}/e", "$this->select('1');", $source);

修改为:

return preg_replace_callback("/{([^}{n]*)}/", function($r) { return $this->select($r[1]); }, $source);

2:line 495:

原语句:

$out = "<?php n" . '$k = ' . preg_replace("/('$[^,]+)/e" , "stripslashes(trim('1','''));", var_export($t, true)) . ";n";

修改为:

$replacement = preg_replace_callback("/('$[^,]+)/" ,

function($matcher){

return stripslashes(trim($matcher[1],'''));

},

var_export($t, true));

$out = "<?php n" . '$k = ' . $replacement . ";n";

3:line 554: //zuimoban.com 转载不带网址,木JJ

原语句:

$val = preg_replace("/[([^[]]*)]/eis", "'.'.str_replace('$','$','1')", $val);

修改为:

$val = preg_replace_callback("/[([^[]]*)]/is",

function ($matcher) {

return '.'.str_replace('$','$',$matcher[1]);

},

$val);

4:line 1071:

原语句:

$replacement = "'{include file='.strtolower('1'). '}'";

$source = preg_replace($pattern, $replacement, $source);

修改为:

$source = preg_replace_callback($pattern,

function ($matcher) {

return '{include file=' . strtolower($matcher[1]). '}';

},

$source);

标签ecshop,修饰,preg,replace,不安全,几处

相关下载

查看所有评论+

网友评论

网友
您的评论需要经过审核才能显示

公众号