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

时间:2012-03-01 14:17:18

标签: php magic-quotes-gpc

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

无处不在,该函数已被弃用(example)。

但是PHP 5.3中的默认行为是什么?我过去常常检查magic_quotes_gpc是否为POST并且如果是这样则删除所有斜杠,就在我的脚本的开头,所有GETCOOKIEget_magic_quotes_gpc()变量,这样我就不会感到困惑。

但是如果我不应该使用magic_quotes_gpc检查是否添加了斜杠,那么如果PHP 5.3没有添加斜杠,则总是删除斜杠会导致错误的数据。

我对this

抱有同样的困惑

目前我的服务器上已{{1}}(PHP 5.2.17),因此我需要删除斜杠。但是我应该如何处理这个为未来的PHP版本做好准备?

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

1 个答案:

答案 0 :(得分:7)

{@ 1}}函数不被弃用,它是不推荐使用的get_magic_quotes_gpc配置设置。

解决方案是不在您自己的服务器上使用magic_quotes_gpc配置设置,如果您想编写将在不推荐使用{{1}的服务器上运行的健壮代码,也可以使用magic_quotes_gpc设置已开启。

换句话说:

  • 在配置中关闭get_magic_quotes_gpc
  • 如果您当前使用magic_quotes_gpc,请将其更改为仅在magic_quotes_gpc时致电stripslashes