关于magic_quotes_gpc的问题
常看到别人程序里用set_magic_quotes_runtime(0),关闭magic_quotes_gpc想知道magic_quotes_gpc打开时有哪些问题? 手册曰:
[quote]
[list][*]可移植性
编程时认为其打开或并闭都会影响到移植性。可以用 [url=http://php.chinaunix.net/manual/zh/function.get-magic-quotes-gpc.php][b][color=#0066cc]get_magic_quotes_gpc()[/color][/b][/url] 来检查是否打开,并据此编程。
[*]性能
由于并不是每一段被转义的数据都要插入数据库的,如果所有进入 PHP 的数据都被转义的话,那么会对程序的执行效率产生一定的影响。在运行时调用转义函数(如 [url=http://php.chinaunix.net/manual/zh/function.addslashes.php][b][color=#0066cc]addslashes()[/color][/b][/url])更有效率。
尽管 [font=新宋体]php.ini-dist[/font] 默认打开了这个选项,但是 [font=新宋体]php.ini-recommended[/font] 默认却关闭了它,主要是出于性能的考虑。
[*]不便
由于不是所有数据都需要转义,在不需要转义的地方看到转义的数据就很烦。比如说通过表单发送邮件,结果看到一大堆的 \'。针对这个问题,可以使用 [url=http://php.chinaunix.net/manual/zh/function.stripslashes.php][b][color=#0066cc]stripslashes()[/color][/b][/url] 函数处理。
[/list][/quote]
主要还是考虑后两点,根据实际需要来编 因为代码想自己控制过滤的操作 虽然注入很可怕,不过也用不着什么都过滤,有些人喜欢追求性能。 那些编写asp脚本的人,似乎已经得了恐惧证
页:
[1]
