addslashes,stripslashes
官方介绍:
(PHP 4, PHP 5)
addslashes — 使用反斜线引用字符串
返回字符串,该字符串为了数据库查询语句等的需要在某些字符前加上了反斜线。这些字符是单引号(’)、双引号(”)、反斜线(\)与 NUL(NULL 字符)。
PHP 5.4 之前 PHP 指令 magic_quotes_gpc 默认是 on, 实际上所有的 GET、POST 和 COOKIE
数据都用被 addslashes() 了。 不要对已经被 magic_quotes_gpc转义过的字符串使用
addslashes(),因为这样会导致双层转义。 遇到这种情况时可以使用函数 get_magic_quotes_gpc()进行检测。
//当magic_quotes_gpc=On的时候,函数get_magic_quotes_gpc()就会返回1 //当magic_quotes_gpc=Off的时候,函数get_magic_quotes_gpc()就会返回0 $str=$_POST["str"];//读取str的内容赋值给$str变量 if(get_magic_quotes_gpc())//如果get_magic_quotes_gpc()是打开的 { $str=stripslashes($str);//将字符串进行处理 }
那么,问题来了,现在使用php5.6,get_magic_quotes_gpc() 为 false,可是,直接获取$_POST的值,还是直接给转义了,这是为什么呢???