您现在的位置是:首页 > 教程 > dedecms教程dedecms教程
DedeCMS织梦投票模块插件sql注入漏洞修复教程
单羽2023-09-28 17:39:56dedecms教程已有人查阅
导读有很多织梦站长朋友反映DedeCMS投票模块的投票主题的选项经常被sql注入删除,经过检查发现投票模块代码没有对sql参数进行转换,导致不法分子可以恶意利用sql注入。
有很多织梦站长朋友反映DedeCMS投票模块的投票主题的选项经常被sql注入删除,经过检查发现投票模块代码没有对sql参数进行转换,导致不法分子可以恶意利用sql注入。
解决方法很简单,只要将addslashes()改为mysql_real_escape_string()即可。
找到并打开/include/dedevote.class.php文件,在里面找到如下代码:
addslashes() 是强行加\;
mysql_real_escape_string() 会判断字符集,但是对PHP版本有要求;(PHP 4 >= 4.0.3, PHP 5)
mysql_escape_string不考虑连接的当前字符集。(PHP 4 >= 4.0.3, PHP 5, 注意:在PHP5.3中已经弃用这种方法,不推荐使用)
解决方法很简单,只要将addslashes()改为mysql_real_escape_string()即可。
找到并打开/include/dedevote.class.php文件,在里面找到如下代码:
$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).”‘”);
说明:addslashes() 是强行加\;
mysql_real_escape_string() 会判断字符集,但是对PHP版本有要求;(PHP 4 >= 4.0.3, PHP 5)
mysql_escape_string不考虑连接的当前字符集。(PHP 4 >= 4.0.3, PHP 5, 注意:在PHP5.3中已经弃用这种方法,不推荐使用)
本文标签:
很赞哦! ()
随机图文
-
dedecms织梦data目录移出后的访问首页会跑到install目录怎么办
data目录移出后,访问首页时会自动跑到install目录,还要再修改个地方才行:index.php里的/data也要改成/../data -
织梦软件模型中软件描述字数限制的修改方法
织梦默认的软件模型里面的软件描述有字数限制,导致超过的部分字数无法储存及显示,开始以为是编辑器自身字数的限制,后来使用文章模型,发现可以正常显示,而软件模 -
dede标签云生成不同颜色的方法、不同大小的tag标签样式代码
tag标签做网站的朋友想必知道吧,在本文要为大家讲解的的是dede标签云的使用,如何生成不同颜色、不同大小的tag标签。 -
dede织梦系统怎么修改数据库表前缀的方法
我们在安装织梦的时候,很多地方都都是选择的默认,数据表前缀也是这样。但是对于我们拥有多个网站,而又使用虚拟主机或者合租主机的用户来说就是一 个苦闷的事情了
留言与评论 (共有 条评论) |