我应该总是为_POST _GET和_COOKIE变量使用stripslashes

R_U*_*ser 1 php magic-quotes-gpc

当我读到get_magic_quotes_gpc()PHP中的函数时,我真的很困惑.

据说该函数已被弃用(例如).

但是PHP 5.3中的默认行为是什么?我用来检查,如果magic_quotes_gpc在和全部剥离斜线,如果是这样的话,就在我的脚本的开头为所有POST,GETCOOKIE变量,这样我就不会感到困惑.

但是如果我不检查是否使用了添加的斜杠get_magic_quotes_gpc(),如果PHP 5.3没有添加斜杠,则总是删除斜杠会导致错误的数据.

对此也有同样的困惑

目前magic_quotes_gpc在我的服务器上(PHP 5.2.17),所以我需要删除斜杠.但是我应该如何处理这个为未来的PHP版本做好准备?

我可以在脚本开头的运行时期间以某种方式设置默认值吗?但是什么是默认值?

Dag*_*bit 7

get_magic_quotes_gpc函数不被弃用,它是不推荐使用的magic_quotes_gpc配置设置.

解决方案是不在magic_quotes_gpc您自己的服务器上使用配置设置,但get_magic_quotes_gpc如果您要编写可在magic_quotes_gpc打开已弃用设置的服务器上运行的健壮代码,也可以使用.

换一种说法:

  • 关闭magic_quotes_gpc配置.
  • 无论您目前使用何处stripslashes,请将其更改为仅调用stripslashesif get_magic_quotes_gpc() == 1.