标签:
最近学了学PHP,看到这段代码
function daddslashes($str){
return (!get_magic_quotes_gpc())?addslashes($str):$str;
}
发现get_magic_quotes_gpc())和addslashes()函数不太熟悉,就查了下资料,如下:
get_magic_quotes_gpc();就是取得php环境变量magic_quotes_gpc的值。如果值为1时,表示开启;如果为0时,表示该配置关闭!
get_magic_quotes_gpc();值为1,表示开启。那么 php会自动为POST、GET、COOKIE传过来的参数值自动增加转义字符“\”,来确保这些数据的安全性。尤其是防止SQL注入。
get_magic_quotes_gpc();值为0,表示关闭。php解析器不会自动为POST、GET、COOKIE传过来的参数值加转义字符“\”,那么这时就用addslashes函数来转义参数了。
get_magic_quotes_gpc();未开启,用addslashes函数过滤参数防止注入示例:
<?php
$str=$_POST[‘str‘];
if(!get_magic_quotes_gpc()){//首先判断未开启
$newStr=addslashes($str);//然后用addslashes函数过滤
}
?>
addslashes() 函数在指定的预定义字符前添加反斜杠。
这些预定义字符是:
注明:源自网络
php get_magic_quotes_gpc() addslashes()
标签:
原文地址:http://www.cnblogs.com/QMM2008/p/4179100.html