为什么将magic_quotes_gpc视为不良做法?

Ita*_*vka 3 php magic-quotes-gpc

为什么在PHP中启用magic_quotes_gpc被认为是一种不好的做法?

Mar*_*arz 13

我不认为我能解释它比PHP本身的制造者更好(在该页面上有后续评论):为什么不使用Magic Quotes

  • 可移植性:假设它打开或关闭会影响可移植性.使用get_magic_quotes_gpc()相应检查这一点,和代码.
  • 性能:因为并非每个转义数据都插入到数据库中,所以逃避所有这些数据会导致性能下降.简单地addslashes()在运行时调用转义函数(例如)就更有效了.尽管php.ini-development默认启用这些指令,但php.ini-production会禁用它.此建议主要是出于性能原因.
  • 不便之处:因为并非所有数据都需要转义,所以看到转义数据不应该出现的情况通常很烦人.例如,从表单发送电子邮件,并在电子邮件中看到一堆\'.要修复,这可能需要过度使用stripslashes().

注 - 自PHP 5.3.0起,此功能已被弃用,自PHP 5.4.0起已被删除.