0

$_REQUEST[var]什么是无效的常见原因?

我正在传递&redirect_to=somevalue URI。当我$_REQUEST['redirect_to']在接收 PHP 代码中进行测试时,它似乎没有设置。这可能是服务器环境配置问题引起的吗?我在 ZippyKid 上,我知道他们非常重视安全性。

更新:这仍然没有修复。阅读下面的评论。一旦每个人都帮助我意识到问题可能是我作为“redirect_to”的值传递的 URL,我就去做了。但后来我发现,我暂时使用了“blah”这个词。所以现在我正在打这个:

http://mysite.com/wp-login.php?action=lostpassword&sidedoorkey=2738jksdf98143lkadsf9534sdfadsf3f2321asdf53&redirect_to=blah

但是 php 说 $_REQUEST['redirect_to'] 是一个零长度的字符串。o_o

4

2 回答 2

0

尝试在每个字符串之前使用 urlencode,例如 redirect_to=urlencode('blah'):

于 2012-11-11T05:09:07.493 回答
0

我还没有解决这个问题,但我确实找出了问题的常见原因,所以我用它来回答这个问题。

我怀疑这个问题是由于 cookie 中的“粘性”变量造成的。如果 cookie 设置了相同的变量,它可能会覆盖在 _GET 或 _POST 中传递的重复变量的值。

这自然是使用 _REQUEST 的主要安全问题,以及为什么使用它是不好的做法。呸,愚蠢的 Wordpress 旧代码!希望我能弄清楚我的问题是否实际上是 cookie var,然后解决问题。我已经把代码倒了好几次,在其他任何地方都没有发现问题。

于 2012-11-11T04:05:09.073 回答