香港独立IP空间
香港php空间
美国php空间
域名注册

无忧主机小编我注意到现在的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之前的区别?

 

本文地址:http://www.51php.com/joomla/15269.html

喜欢本文或觉得本文对您有帮助,请分享给您的朋友 ^_^

阅读本文的人还阅读:


搜索技术文档