织梦DedeCMS投票模块漏洞的解决方法

网站建设 2022-07-27 09:12www.1681989.com免费网站
我们找到并打开/clude/dedevote.class.php文件,在里面查找如下代码 1 $this-dsql-ExecuteNoneQuery( UPDATE `#【分隔符】@__vote` SET totalcount= .($this-VoteInfos[totalcount ]+1). ,votenote= .addslashes($items). WHERE […]



我们找到并打开/clude/dedevote.class.php文件,在里面查找如下代码

 

1 $this->dsql->ExecuteNoneQuery("UPDATE `#【分隔符】@__vote` SET totalcount='".($this->VoteInfos['totalcount']+1)."',votenote='".addslashes($items)."' WHERE aid='".$this->VoteID."'");

 

修改为如下代码

 

1 $this->dsql->ExecuteNoneQuery("UPDATE `#【分隔符】@__vote` SET totalcount='".($this->VoteInfos['totalcount']+1)."',votenote='".mysql_real_escape_strg($items)."'WHERE aid='".mysql_real_escape_strg($this->VoteID)."'");

 

 

1.复制的时候自行去掉里面的【分隔符】

 

2.addslashes()的意思是强行加\;

 

3.mysql_real_escape_strg() 会判断字符集,对PHP版本有要求;(PHP 4 >= 4.0.3, PHP 5)

 

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


Copyright © 2016-2025 www.1681989.com 推火网 版权所有 Power by