欢迎来到元素模板ys720.com,本站提供专业的织梦模板PBOOTCMS模板网站模板网站修改/网站仿站
当前位置:主页 > 程序教程 > DEDECMS教程 >
DEDECMS教程

织梦Dedecms安全:如何预防投票模块漏洞的SQL注入

(元素模板) / 2015-04-30 20:38

织梦是一款现使用人数比较多的开源程序之一,它的功能强大,而且利于SEO优化,很受大家的喜爱。

可惜安全性很差,今天就给大家讲解一下如何防范织梦系统投票模块防止SQL的注入,让站长朋友们都解决一下后顾之忧。

这里主要是将核心文件中的addslashes()改为mysql_real_escape_string()即可。

接下来就看操作步骤吧!

首先,你要找到需要修改的文件dedevote.class.php,它在根目录下的include文件夹内,把该文件下载到本地后打开编辑,查找到代码:

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

并修改为:

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

即可,这里修改完以后,保存一下,上传到原文件夹内,即可消除此隐患;如果你是开发者还可以了解到一些会用到的函数,如下:

mysql_real_escape_string() 会判断字符集,但是对PHP版本有要求;(PHP 4 >= 4.0.3, PHP 5)

mysql_escape_string不考虑连接的当前字符集。(PHP 4 >= 4.0.3, PHP 5, 注意:在PHP5.3中已经弃用这种方法,不推荐使用)

Copyright @ 2013-2021 元素模板 www.ys720.com All Rights Reserved. 版权所有 元素模板 www.ys720.com