ecshop修饰符preg_replace/e不安全的几处改动
2016-09-07 22:02 来源:www.chinab4c.com 作者:ecshop专家
主要集中在 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);(责任编辑:chinab4c) |
最近更新
常用插件
- ecshop2.7.1邮件发送插件
ecshop2.7.1邮件发送插件:该插件主要的开发思想是源于ecshop短信发送系统...
- ecshop没登陆情况下订单查
ecshop没登陆情况下订单查询插件,主要是针对ecshop在没有登陆的情况下...
- ecshop最小购买数量控制插
ecshop最小购买数量控制插件,这个插件主要是为我们提供一个十分方便...
- ecshop2.7.2生成虚拟订单2.
以前我们开发过ecshop下的虚拟订单,就是客户在访问的时候,会自动生...
- ecshop二次开发商品购买增
图片1香...
ecshop热门问答
ecshop热门资料
ecshop欧美风格
ecshop乒乓球
ecshop后缀
ecshop保持登陆
qq登陆
ecshop顾客
ecshop淘宝商城模板
相册
ecshop合伙人
ecshopclient
ecshop不一样的
ecshopdedecms
ecshop外国
beegogbk
ecshop什么时候
404错误
ecshop自定义销量
ecshop下划线
ecshoppages
ecshop配置
ecshop主机
ecshopECMALL第三方登陆
ecshop迁徙
ecshop时尚安全套
ecshop格子
ecshopSKYPER
ecshop简写
ecshopshell
session
ecshop跟帖