首頁  >  文章  >  後端開發  >  php中的get_magic_quotes_gpc()函數

php中的get_magic_quotes_gpc()函數

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



陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn