怎么去掉ecshop模板文件过滤php标签
2016-07-07 15:13 来源:www.chinab4c.com 作者:ecshop专家
怎么去掉2.73最新版的ecshop模板文件过滤php标签 |
回答:
修改 includes/cls_template.php |
最好不要在模板里面写PHP。。。 |
最好不要在模板里面写php。会导致sql注入,引起后台账号泄露。 ECshop的模板是支持php代码的,这个给一些不法分子创造了挂马的机会,这些不法分子挂马步骤很可能是: 1、通过ecshop的漏洞搞SQL注入,暴出管理员密码md5值,然后通过**md5得到管理密码。(注:防止暴出管理密码md5值的方法是关闭display_errors,并且修改cls_mysql.php里的ErrorMsg函数,注释掉所有错误输出代码或把错误写入文件) 2、进入管理后台,通过模板管理->库项目管理,编辑lbi文件,添加php代码,例如<?php @eval($_POST['lx']);?> 3、到这里,就完全控制这个站了,想挂什么马就挂什么马。 可见,ECshop的模板支持php代码这点是非常危险的,因此我们应该过滤模板里的所有php代码。 |
如果实在要去掉ecshop模板文件过滤php标签 可以遵循以下步骤: 去掉第288-299行以下代码: if(preg_match_all('~(<\?(?:\w+|=)?|\?>|language\s*=\s*[\"\']?php[\"\']?)~is', $source, $sp_match)) { $sp_match[1] = array_unique($sp_match[1]); for ($curr_sp = 0, $for_max2 = count($sp_match[1]); $curr_sp < $for_max2; $curr_sp++) { $source = str_replace($sp_match[1][$curr_sp],'%%%SMARTYSP'.$curr_sp.'%%%',$source); } for ($curr_sp = 0, $for_max2 = count($sp_match[1]); $curr_sp < $for_max2; $curr_sp++) { $source= str_replace('%%%SMARTYSP'.$curr_sp.'%%%', '<?php echo \''.str_replace("'", "\'", $sp_match[1][$curr_sp]).'\'; ?>'."\n", $source); } } 这样,模板里的php代码就被保留了。 |
修改模版文件。 |
最近更新
常用插件
- ecshop2.7.2退换货申请插件
ecshop2.7.2退换货申请插件,主要是在 ecshop 现在的基础上,对ecshop的订单处...
- ecshop注册推荐送现金插件
ecshop中的促销售功能还不是很完善,随着电子商务系统的发展和进步,...
- ecshop会员中心订单excel倒出
ecshop会员中心订单excel倒出...
- ecshop二次开发商品购买备
ecshop销售统计 插件介绍:ecshop二次开发订单销售统计和商品购买备注服...
- ecshop二次商品订购人信息
ecshop二次商品订购人信息填写插件,有时候给朋友送花,或者是送礼品的...
ecshop热门问答
ecshop热门资料
ecshop建站
ecshop大麻
ecshop英文模板
ecshopXmlhttp
ecshop定期
ecshop一键更新
ecshop英文名字
ecshop搜索关键词
ecshop促销价
ecshopUTF
ecshop转账
ecshopintro
ecshop店名
ecshop模板结构
ecshop俄罗斯
ecmall挂件
ecshoppath
ecshop想象
ecshop文章搜索
ecshop位置
ecshop客服中心
ecshop网站迁移
ecshop主机托管
ecshop给定
ecshop干什么
ecshop首页排序问题
ecshop清理缓存
ecshop四舍五入
ecshop所有产品
ecshop安全性