magic_quotes_gpc 、 magic_quotes_runtime 、 magic_quotes_sybase 介绍

一、三个配置项的作用与区别

magic_quotes_gpc

作用:对php服务器端接收的 GET POST COOKIE 的值执行 addslashes() 操作。
作用范围是:WEB客户服务端。
作用时间:请求开始时,例如当脚本运行时。

magic_quotes_runtime

作用:对通过 fread()、file_get_contents() 返回的文本执行 addslashes() 操作,对执行sql查询的结果执行 addslashes() 操作。
作用范围:从文件中读取的数据或执行 exec() 的结果或是从SQL查询中得到的。
作用时间:每次当脚本访问运行状态中产生的数据。

magic_quotes_sybase

作用:影响 addslashes() 函数。
magic_quotes_sybase=0 时,addslashes 将对 ' " \ 进行 \ 转义操作;
magic_quotes_sybase=1 时,addslashes 将对 ' 进行 '' 转义操作(两个单引号)。


总结:
magic_quotes_gpc 的设定值将会影响通过 Get/Post/Cookies 获得的数据。
magic_quotes_runtime 的设定值将会影响从文件中读取的数据或从数据库得到的数据。

 

二、相关函数

get_magic_quotes_gpc()

查看 magic_quotes_gpc 值。0=关闭,1=打开。PHP5.4时,始终返回 FALSE,因为这个魔术引号功能已经从 PHP 中移除了。

get_magic_quotes_runtime()

查看 magic_quotes_runtime 值。0=关闭,1=打开。

set_magic_quotes_runtime()

设置 magic_quotes_runtime 值。0=关闭,1=打开。默认状态是关闭的。可以通过 echo phpinfo(); 查看magic_quotes_runtime

没有 set_magic_quotes_gpc() 这个函数

就是不能在程序里面设置 magic_quotes_gpc 的值。

addslashes($data)

在指定的预定义字符前添加反斜杠。
预定义字符包括: 单引号'、双引号"、反斜线\ 、NULL。

stripslashes($data)

删除由 addslashes() 函数添加的反斜杠。

 

转载:http://www.cnblogs.com/liukai1501/archive/2013/04/09/3010778.html
        http://blog.csdn.net/zmouki/article/details/4211402

posted @ 2014-01-23 14:41  Wiliz  阅读(905)  评论(0编辑  收藏  举报