现在我在写代码中总结主要以下几种:
主要是对于整数型数据,插入前用intval强制转换
mysql防注入,一般就是对页面提交(post或get)过来的数据进行处理,这里接收两种:
一是php逻辑模块,对页面提交过来的特殊字符进行转义
可以用get_magic_quotes_gpc()检测系统是否开启自动转义设置。如果没有打开这项设置,可以使用addslashes()函数添加,它的功能就是给数据库查询语句等的需要在某些字符前加上了反斜线,比如:
if (!get_magic_quotes_gpc())
{
foreach ($_POST as $_key => $_value)
{
if (!is_array($_value)) $_POST[$_key] = addslashes($_value);
}
}
二是mysql处理模块,用mysql的mysql_real_escape_string()的函数,可将特殊字符和可能引起数据库操作出错的字符转义,比如:
if(get_magic_quotes_gpc()) {
$str=stripslashes($str);
}else{
$str = mysql_real_escape_string($str);
阅读(1587) | 评论(0) | 转发(0) |