magic_quotes_gpc 魔法函数存在于PHP 5.3.4及以下版本,作用是对POST、GET、Cookie传入的数据进行转义处理,在输入数据的特殊字符如 单引号(')、双引号(")、反斜线(\)与 NULL(NULL 字符)
等字符前加入转义字符"\"
。
- 在PHP版本
<=5.2.7
中,,该选项是默认开启的(on),即默认为所有接收数据进行转义处理
- 在PHP版本
>5.2.7,<=5.3.4
中,该选项还保留,但是是默认关闭状态(off)
- 在PHP版本
>5.3.4
中,该选项已经被删除,所有的转义处理都需要工程师手动进行。
该魔法函数的存在是因为有一些危险数据会直接对数据库造成危害,比如注入等漏洞。
起初这个自动化转义处理的功能的确会带来极大的便利,但是由于工程师们过分依赖该选项,导致一些特殊的数据不会被做转义处理,还是会被利用并攻击,所以在后续的PHP版本中取消了该选项,所有的数据必须手动进行转义处理。