找回密码
 立即注册

QQ登录

只需一步,快速开始

搜索
查看: 130|回复: 0

[cms教程] DedeCMS教程:投票模块漏洞解决方法

[复制链接]

该用户从未签到

发表于 2021-3-25 09:05:39 | 显示全部楼层 |阅读模式

您需要 登录 才可以下载或查看,没有账号?立即注册

×
DedeCMS投票模块有朋友反映投票主题的选项经常被sql注入删除,经过iOS100知识库查看代码发现投票模块代码没有对sql参数进行转换,导致不法分子sql注入。只要讲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中已经弃用这种方法,不推荐使用)
回复

使用道具 举报

网站地图|页面地图|文字地图|Archiver|手机版|小黑屋|找资源 |网站地图

GMT+8, 2024-10-9 19:13

Powered by Discuz! X3.5

© 2001-2024 Discuz! Team.

快速回复 返回顶部 返回列表