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