Joomla网站程序如何预防黑客SQL注入
高速度
主机小编我注意到现在的SQL注入是越来越厉害了,在开发第三方扩展时,仅仅是通过JRequest防止SQL注入是远远不够的,我们需要一些新的手段来预防SQL注入,下面小编我就给大家讲几个简单的放注入方法。1、转换string类型当用户输入信息得到一个string类型之后,可以通过转换string类型来保证预防SQL注入 ,您可以通过以下方法转换string类型$sql = 'UPDATE #__mytable SET `string` = ' . $db->quote( $db->getEscaped( $string ), false );这种方法就是将获得的信息简单的通过类型转换实现的。2、强制使用类型转换如果想得到int型,那么就强制将它转化为int型。代码如下:$sql = 'UPDATE #__mytable SET `id` = ' . (int) $int;如果想转换成其他类型只需要修改括号内的类型就可以了。如果想插入一个date,那么使用JDate,它就会返回一个date。$date =& JFactory::getDate($mydate);$sql = 'UPDATE #__mytable SET `date` = ' . $db->quote( $date->toMySQL(), false);3、预防DOS攻击预防DOS攻击的方法有很多我只讲一种在where从句中,如果你使用了LIKE命令,你会因为不转换特殊通配符%和_而产生DOS漏洞。Joomla可以帮你做这件事。 $db->getEscaped能够通过设置第二个参数,自动转换那些字符串。注意你只需转换用在LIKE里的字符串。如此:$sql = 'UPDATE #__mytable SET*from .... WHERE `string` LIKE '.$db->quote( $db->getEscaped( $string, true ), false );高速度
主机相关文章推荐阅读:JOOMLA网站程序首页打开慢如何删除JOOMLA字体设置按钮JOOMLA网站文章网页如何显示EXCEL文档JOOMLA3.0官方下载:JOOMLA3.0与JOOMLA2.5之前的区别?
本文地址:https://www.gaosudu.com/joomla/15269.html