php中的get_magic_quotes_gpc()函数

发布时间:2020-11-28编辑:脚本学堂
本文介绍下,php中有关字符转义的函数,get_magic_quotes_gpc()函数的相关知识,有需要的朋友参考下吧。

php内置函数get_magic_quotes_gpc(),获取php.ini设置中magic_quotes_gpc选项的值。

magic_quotes_gpc选项:
如果magic_quotes_gpc=On,PHP解析器就会自动为post、get、cookie过来的数据增加转义字符“”,以确保这些数据不会引起程序,特别是数据库语句因为特殊字符引起的污染而出现致命的错误。

在magic_quotes_gpc=On的情况下,如果输入的数据包含:
单引号(’)、双引号(”)、反斜线()与 NUL(NULL 字符)等字符都会被加上反斜线。
这些转义是必须的,如果这个选项为off,那么就必须调用addslashes函数来为字符串增加转义。

正是因为这个选项必须为On,但是又让用户进行配置的矛盾,在PHP6中删除了这个选项,一切的编程都需要在magic_quotes_gpc=Off下进行了。
这样的环境下,如果不对用户的数据进行转义,后果不仅仅是程序错误而已了。
同样的会引起数据库被注入攻击的危险。

为了迎接php6的到来,以后不要依靠这个选项为on了。

当magic_quotes_gpc=On时,函数get_magic_quotes_gpc()就会返回1。
当magic_quotes_gpc=Off时,函数get_magic_quotes_gpc()就会返回0。
所以,get_magic_quotes_gpc()函数,就是用来得到环境变量magic_quotes_gpc的值。

不过,在PHP6中删除了magic_quotes_gpc选项,可能在php6中这个函数就不存在了。