新聞中心
織夢DedeCMS投票模塊經常被SQL注入該怎么防范呢
作者 / 無憂主機 時間 2014-12-12 21:44:43
由于織夢(dedecms)是開源程序漏洞也是比較多的,雖然無憂主機php獨立ip空間安全性很高,但是由于漏洞問題,可以說使用這款程序建站的站長朋友們無時不在擔憂被掛馬,攻擊,掛黑鏈等。小編之前也寫了一些關于織夢被入侵的一些防范文章總結。的確這款程序被掛馬后解決起來很頭痛,因為只要是被掛馬了不只是掛在一個文件中,模板,后臺等都會被掛,小編今天又遇到了一種掛馬的方法,那就是通過SQL注入。那么是如何注入的呢?留心的站長們會發(fā)現在首頁文章的最下面一般會有一個對文章進行投票的模塊圖標,當我們打開投票模塊代碼的時候發(fā)現投票模塊代碼沒有對用戶提交過來的SQL參數進行轉義。這就導致了入侵者有機可乘了。作為一個程序員而言在開發(fā)的時候都會使用addslashes()函數對用戶提交過來的數據進行轉義操作,那么在這個模塊代碼中該如何進行轉義呢?下面小編就來詳細的講解下方法吧。 首先根據路徑找到/include/dedevote.class.php文件,使用一款編輯軟件打開。 查找以下代碼:
$this->dsql->ExecuteNoneQuery("UPDATE`#@__vote`SET totalcount='".($this->VoteInfos['totalcount']+1)."',votenote='".addslashes($items)."' WHERE aid='".$this->VoteID."'");替換為:
$this->dsql->ExecuteNoneQuery("UPDATE`#@__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()對模塊投票提交過來的數據進行轉義后再向數據庫提交,這樣轉義之后就會把例如逗號,雙引號全部轉義成單斜杠了。這樣就可以有效的防范投票的時候被SQL注入的風險了。 無憂主機相關文章推薦閱讀: DEDECMS后臺模塊管理空白的解決方法 織夢程序中PLUS文件作用介紹及安全設置 DEDECMS安裝WAP之后登錄后臺報錯的解決方法 利用HTTP協(xié)議修改DEDECMS首頁代碼來實現網站重定向
本文地址:http://www.gle-technology.com/dedecms/17892.html