去官方看了下,用红色的block特别注明了,php5.3已经不推荐使用这个东东了,在 PHP6 中已经将其废弃:php
magic_quotes_gpc boolean Warning This feature has been DEPRECATED as of PHP 5.3.0 and REMOVED as of PHP 6.0.0. Relying on this feature is highly discouraged.magic_quotes_gpc=on 的配置下,插入数据时,Magic quotes 会自动将数据转义。 能够从必定程度上,让初学者带离脚本的安全风险。例如在没有任何保护措施的代码下,开启了 Magic quotes 后会少不少的风险,例如注入问题。之前看一些安全方面的文章,入侵者老是喜欢选择magic_quotes_gpc=off的站下手,若是看到其magic_quotes_gpc=on ,估计就不会弄这个站了。
为何不使用 Magic quotes安全
可移植性
不管此功能是否开启,它都会影响脚本的可移植性,由于它影响咱们后续过滤数据的操做。函数
性能问题
在获取全部的外部数据以前都会被转义,这无疑会增长运行时的花销(并且并非全部的数据都须要转义)。性能
形成困惑
正如上述所言,并不是全部的数据都须要被转义。有可能出现的一种状况,就是当你为了获取未被转义的数据,而“疯狂的”使用 stripslashes 函数。this
1,用 php.ini 配置文件全局禁用code
magic_quotes_gpc = Off safe_mode = Off
2,使用 .htaccess 文件禁用(对于虚拟主机)ip
php_flag magic_quotes_gpc Offphp_flag safe_mode Offclass
禁用了这两个东东后,安全问题就更加不能忽视了。在数据入库前必定要addslashes ,出库后要记得stripslashes 。