新聞中心
織夢(mèng)DedeCMS投票模塊經(jīng)常被SQL注入該怎么防范呢
由于織夢(mèng)(dedecms)是開(kāi)源程序漏洞也是比較多的,雖然無(wú)憂主機(jī)php獨(dú)立ip空間安全性很高,但是由于漏洞問(wèn)題,可以說(shuō)使用這款程序建站的站長(zhǎng)朋友們無(wú)時(shí)不在擔(dān)憂被掛馬,攻擊,掛黑鏈等。小編之前也寫(xiě)了一些關(guān)于織夢(mèng)被入侵的一些防范文章總結(jié)。的確這款程序被掛馬后解決起來(lái)很頭痛,因?yàn)橹灰潜粧祚R了不只是掛在一個(gè)文件中,模板,后臺(tái)等都會(huì)被掛,小編今天又遇到了一種掛馬的方法,那就是通過(guò)SQL注入。那么是如何注入的呢?留心的站長(zhǎng)們會(huì)發(fā)現(xiàn)在首頁(yè)文章的最下面一般會(huì)有一個(gè)對(duì)文章進(jìn)行投票的模塊圖標(biāo),當(dāng)我們打開(kāi)投票模塊代碼的時(shí)候發(fā)現(xiàn)投票模塊代碼沒(méi)有對(duì)用戶提交過(guò)來(lái)的SQL參數(shù)進(jìn)行轉(zhuǎn)義。這就導(dǎo)致了入侵者有機(jī)可乘了。作為一個(gè)程序員而言在開(kāi)發(fā)的時(shí)候都會(huì)使用addslashes()函數(shù)對(duì)用戶提交過(guò)來(lái)的數(shù)據(jù)進(jìn)行轉(zhuǎn)義操作,那么在這個(gè)模塊代碼中該如何進(jìn)行轉(zhuǎn)義呢?下面小編就來(lái)詳細(xì)的講解下方法吧。 首先根據(jù)路徑找到/include/dedevote.class.php文件,使用一款編輯軟件打開(kāi)。 查找以下代碼:
$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)."'");其實(shí)也就是addslashes()改為mysql_real_escape_string()對(duì)模塊投票提交過(guò)來(lái)的數(shù)據(jù)進(jìn)行轉(zhuǎn)義后再向數(shù)據(jù)庫(kù)提交,這樣轉(zhuǎn)義之后就會(huì)把例如逗號(hào),雙引號(hào)全部轉(zhuǎn)義成單斜杠了。這樣就可以有效的防范投票的時(shí)候被SQL注入的風(fēng)險(xiǎn)了。 無(wú)憂主機(jī)相關(guān)文章推薦閱讀: DEDECMS后臺(tái)模塊管理空白的解決方法 織夢(mèng)程序中PLUS文件作用介紹及安全設(shè)置 DEDECMS安裝WAP之后登錄后臺(tái)報(bào)錯(cuò)的解決方法 利用HTTP協(xié)議修改DEDECMS首頁(yè)代碼來(lái)實(shí)現(xiàn)網(wǎng)站重定向
本文地址:http://www.love62.cn/dedecms/17892.html