百分百源码网-让建站变得如此简单! 登录 注册 签到领金币!

主页 | 如何升级VIP | TAG标签

当前位置: 主页>网站教程>Ecshop教程> 修改ecshop过滤模板里的php代码,防止模板被挂马
分享文章到:

修改ecshop过滤模板里的php代码,防止模板被挂马

发布时间:12/03 来源: 浏览: 关键词:

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代码。

方法:
1,修改cls_templage.php文件,添加函数:

  1. function delete_php_code($content)
  2. {
  3. if(!empty($content))
  4. {
  5. $pattern='/\<\?(.|\r\n|\s)*\?\>/U';
  6.  
  7. return preg_replace($pattern,'',$content);
  8. }
  9. }
复制代码


2,第165行$out = $this->_eval($this->fetch_str(file_get_contents($filename)));修改为:
$out = $this->_eval($this->fetch_str($this->delete_php_code(file_get_contents($filename))));
3,第260行$source = $this->fetch_str(file_get_contents($filename));修改为:
$source = $this->fetch_str($this->delete_php_code(file_get_contents($filename)));

这样,模板里的php代码就被过滤掉了。

 

打赏

打赏

取消

感谢您的支持,我会继续努力的!

扫码支持
扫码打赏,你说多少就多少

打开支付宝扫一扫,即可进行扫码打赏哦

百分百源码网 建议打赏1~10元,土豪随意,感谢您的阅读!

相关文章

共有9人阅读,期待你的评论!发表评论
昵称: 网址: 验证码: 点击我更换图片
最新评论

本文标签

广告赞助

能出一分力是一分吧!

订阅获得更多模板

本文标签

广告赞助

订阅获得更多模板