首页建站经验 ecshop修饰符preg_replace/e不安全的几处改动

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

主要集中在 upload/includes/cls_template.php 文件中:1:line 300 :原语句:return preg_replace("/{([^/}/{/n]*)}/e", "/$this->select('//1');", $source);修改为:return preg_…

主要集中在 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);

本文来自网络,不代表1号站长-站长学院|资讯交流平台立场。转载请注明出处: https://www.1cn.cc/jianzhan/jingyan/17704.html
上一篇discuz教程:DIY插入错误数据后无法清空或者编辑的解决方案
下一篇 在商品详细页获取所在商品的顶级分类ID及NAME
admin

作者: admin

这里可以再内容模板定义一些文字和说明,也可以调用对应作者的简介!或者做一些网站的描述之类的文字或者HTML!

为您推荐

评论列表()

    联系我们

    联系我们

    0898-88888888

    在线咨询: QQ交谈

    邮箱: email@wangzhan.com

    工作时间:周一至周五,9:00-17:30,节假日休息

    关注微信
    微信扫一扫关注我们

    微信扫一扫关注我们

    关注微博
    返回顶部