>  기사  >  백엔드 개발  >  PHP의 get_magic_quotes_gpc() 함수

PHP의 get_magic_quotes_gpc() 함수

WBOY
WBOY원래의
2016-07-25 08:58:14840검색
本文介绍下,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으로 문의하세요.