新闻中心

Joomla网站程序如何预防黑客SQL注入

作者 / 时间 2014-07-29 16:16:47

无忧主机小编我注意到现在的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.51php.com/joomla/15269.html

1
1
1
1
1
1
1