php字符串

来源:互联网 发布:手机mac支付是什么意思 编辑:程序博客网 时间:2024/06/04 19:10
addslashes()函数的使用与magic_quotes_gpc的设置
针对addslashes()函数的使用与php.ini中magic_quotes_gpc的设置之间的关系,我想做一下说明:
首先,介绍下它们的作用:
addslashes()函数是在字符串中指定的预定义字符前添加反斜杠,即进行转义。
所谓指定的预定义字符包括:1、单引号 (')     2、双引号 (")     3、反斜杠 (\)     4、NULL 
例:
$string = "I am L'polo";
echo addslashes($string);
#结果 ======
I am L\'polo
可以利用stripslashes()函数进行反转义,还原字符串。
PHP.ini 中 magic_quotes_gpc 设置为 on,就会对所有的 GET、POST 和 COOKIE 数据自动运行 addslashes()。
说明:
对以上指定字符(", ', \, null)进行转义主要是SQL语句的需要
      1、数据库操作需要对字符串进行转义,从安全的角度出发也是必须的;
      2、大多数据库使用 \ 作为转义符,转义后的字符串在写入或查询数据库的时候,转义符是被去掉了的,就是说没有 \ 的
      3、所以从数据库读取时,并不需要在输出查询结果时使用stripslashes()函数进行反转义的;
直接输出GET、POST 和 COOKIE 数据时,需要使用stripslashes()函数进行反转义
如果 magic_quotes_gpc 设置为 ON,同时使用了addslashes()函数,就是双重转义
为避免双重转义,我们在程序中需要用get_magic_quotes_gpc()函数进行判断
0 0
原创粉丝点击