关于PHP的addslashes(), stripslashes(), magic_quotes_gpc(), mysql_real_escape_string()
addslashes()
为 单引号 ('),双引号 ("),反斜杠 (\),NULL 加转义反斜杠。注意,这里不包括 分号(;),如果使用这个来转义,保险起见,在使用addslashes之后,用字符串替换将分号替换成转义的形式(\;)比较好。
stripslashes()
将addslashes处理过的字符串恢复。
mysql_real_escape_string()
可以将MYSQL查询中可能出现的特殊字符都转义掉,所以,在mysql_query()之前,用它处理一下是很不错的,但只在PHP4.3.0之后被支持,并且要注意,
magic_quotes_gpc()
如果magic_quotes_gpc 为 on,所有的 GET、POST 和 COOKIE 数据会被自动运行 addslashes()。
考虑到上述问题之后的转义函数:
function escape_str($str){
if(PHP_VERSION >= "4.3.0"){
if(get_magic_quotes_gpc()) $str=stripslashes($str);
$str=mysql_real_escape_string($str);
}else{
if(!get_magic_quotes_gpc()) $str=addslashes($str);
$str=str_replace($str,";",'\;');
}
return $str;
}

还是看不懂。题目太长了。
顺便来说一句我换博客了:forvista.blogbus.com