什么是 Magic Quotes

本文详细介绍了PHP中的MagicQuotes功能,解释了其如何通过自动转义敏感字符来保护网站免受SQL注入攻击。文中还探讨了三种不同的MagicQuotes配置选项及其工作原理。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

Magic Quotes 就是把输入 PHP 敏感字符自动进行转义的一个操作选项。它会根据需要对没有被 magic quotes处理的敏感字符进行转义。

当 Magic Quotes 打开的时候,所有的'(单引号),"(双引号),\(反斜杠)和NULL字符都会被添加反斜杠进行转义。这样产生效果就相当于使用addslashes()函数。

一共有三个 magic quote 选项:

* magic_quotes_gpc
作用于 HTTP 请求所发送的数据(GET, POST, and COOKIE),运行时不能被改变,在 PHP 中默认值为on
参见get_magic_quotes_gpc().

* magic_quotes_runtime
如果打开的话,大部份内部函数,包括数据库和文本文件,所返回的数据都会被反斜杠进行转义。该选项能在运行的时候被改变,在 PHP 中的默认值为off
参见set_magic_quotes_runtime()和get_magic_quotes_runtime().

* magic_quotes_sybase
如果打开的话,将会使用单引号对单引号进行转义而非反斜框。这时magic_quotes_gpc将会被忽略。换而言之,如果同时打开两个选项的话,单引号将会被转义成''。 而双引号、反斜杠、 NULL 字符将不会进行转义。
参见ini_get()是如何得到这个选项的值的。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值