Heim  >  Artikel  >  Backend-Entwicklung  >  php中的get_magic_quotes_gpc()函数

php中的get_magic_quotes_gpc()函数

WBOY
WBOYOriginal
2016-07-25 08:58:14846Durchsuche
本文介绍下,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中这个函数就不存在了。



Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn