新聞中心
Joomla網(wǎng)站程序如何預(yù)防黑客SQL注入
無(wú)憂主機(jī)小編我注意到現(xiàn)在的SQL注入是越來(lái)越厲害了,在開(kāi)發(fā)第三方擴(kuò)展時(shí),僅僅是通過(guò)JRequest防止SQL注入是遠(yuǎn)遠(yuǎn)不夠的,我們需要一些新的手段來(lái)預(yù)防SQL注入,下面小編我就給大家講幾個(gè)簡(jiǎn)單的放注入方法。 1、轉(zhuǎn)換string類型 當(dāng)用戶輸入信息得到一個(gè)string類型之后,可以通過(guò)轉(zhuǎn)換string類型來(lái)保證預(yù)防SQL注入 ,您可以通過(guò)以下方法轉(zhuǎn)換string類型 $sql = 'UPDATE #__mytable SET `string` = ' . $db->quote( $db->getEscaped( $string ), false ); 這種方法就是將獲得的信息簡(jiǎn)單的通過(guò)類型轉(zhuǎn)換實(shí)現(xiàn)的。 2、強(qiáng)制使用類型轉(zhuǎn)換 如果想得到int型,那么就強(qiáng)制將它轉(zhuǎn)化為int型。代碼如下: $sql = 'UPDATE #__mytable SET `id` = ' . (int) $int; 如果想轉(zhuǎn)換成其他類型只需要修改括號(hào)內(nèi)的類型就可以了。 如果想插入一個(gè)date,那么使用JDate,它就會(huì)返回一個(gè)date。 $date =& JFactory::getDate($mydate); $sql = 'UPDATE #__mytable SET `date` = ' . $db->quote( $date->toMySQL(), false); 3、預(yù)防DOS攻擊 預(yù)防DOS攻擊的方法有很多我只講一種 在where從句中,如果你使用了LIKE命令,你會(huì)因?yàn)椴晦D(zhuǎn)換特殊通配符%和_而產(chǎn)生DOS漏洞。Joomla可以幫你做這件事。 $db->getEscaped能夠通過(guò)設(shè)置第二個(gè)參數(shù),自動(dòng)轉(zhuǎn)換那些字符串。注意你只需轉(zhuǎn)換用在LIKE里的字符串。如此: $sql = 'UPDATE #__mytable SET*from .... WHERE `string` LIKE '. $db->quote( $db->getEscaped( $string, true ), false ); 無(wú)憂主機(jī)相關(guān)文章推薦閱讀: JOOMLA網(wǎng)站程序首頁(yè)打開(kāi)慢 如何刪除JOOMLA字體設(shè)置按鈕 JOOMLA網(wǎng)站文章網(wǎng)頁(yè)如何顯示EXCEL文檔 JOOMLA3.0官方下載:JOOMLA3.0與JOOMLA2.5之前的區(qū)別?
本文地址:http://m.love62.cn/joomla/15269.html
![1](/wp-content/themes/starow_z/img/o-1.png)
![1](/wp-content/themes/starow_z/img/o-2.png)
![1](/wp-content/themes/starow_z/img/o-3.png)
![1](/wp-content/themes/starow_z/img/o-4.png)
![1](/wp-content/themes/starow_z/img/o-5.png)
![1](/wp-content/themes/starow_z/img/o-6.png)
![1](/wp-content/themes/starow_z/img/o-7.png)