织梦DEDECMS防范投票模块SQL注入垃圾信息

由于织梦(dedecms)是开源程序漏洞也是比较多的,但是由于漏洞问题,可以说使用这款程序建站的站长朋友们无时不在担忧被挂马,攻击,挂黑链等。小编之前也写了一些关于织梦被入侵的一些防范文章总结。因为只要是被挂马了不只是挂在一个文件中,模板,后台等都会被挂,今天又遇到了一种挂马的方法,那就是通过SQL注入。



那么是如何注入的呢?留心的站长们会发现在首页文章的最下面一般会有一个对文章进行投票的模块图标,当我们打开投票模块代码的时候发现投票模块代码没有对用户提交过来的SQL参数进行转义。这就导致了入侵者有机可乘了。作为一个程序员而言在开发的时候都会使用addslashes()函数对用户提交过来的数据进行转义操作,那么在这个模块代码中该如何进行转义呢?下面小编就来详细的讲解下方法吧。

首先根据路径找到/include/dedevote.class.php文件,使用一款编辑软件打开。

查找以下代码:

$this->dsql->ExecuteNoneQuery("UPDATExiuzhanwang_voteSET totalcount='".($this->VoteInfos['totalcount']+1)."',votenote='".addslashes($items)."' WHERE aid='".$this->VoteID."'");



替换为:

$this->dsql->ExecuteNoneQuery("UPDATExiuzhanwang_voteSET totalcount='".($this->VoteInfos['totalcount']+1)."',votenote='".mysql_real_escape_string($items)."' WHERE aid='".mysql_real_escape_string($this->VoteID)."'");

其实也就是addslashes()改为mysql_real_escape_string()对模块投票提交过来的数据进行转义后再向数据库提交,这样转义之后就会把例如逗号,双引号全部转义成单斜杠了。这样就可以有效的防范投票的时候被SQL注入的风险了。

版权免责声明

① 本站VIP源码资源永久免费下载 www.wayu.cn
② 本网站资源来源于网络收集,如有侵权,请联系站长进行删除处理。
③ 分享目的仅供大家学习和交流,请不要用于商业用途,否则后果自负。
④ 如果你有源码需要出售,可以联系小编,或者点击 投稿
⑤ 本站提供的源码、模板、插件等等其他资源,都不包含技术服务请大家谅解。
⑥ 本站资源售价只是赞助,收取费用仅维持本站的日常运营所需。
⑦ 在您的能力范围内,为了大环境的良性发展,请尽可能的选择正版资源。
⑧ 网站资源不做任何二次加密和授权后门(原版加密除外)

评论0

请先

没有账号? 忘记密码?