服务器由于"坏"而进入重定向循环饼干价值

时间:2016-08-02 12:06:57

标签: php apache redirect cookies joomla

我的情况是,在Joomla / php上运行网站的Apache Web服务器正在设法让自己进入重定向循环。

访问http://www.example.com/时,它会向http://www.example.com/发送302重定向(是的,相同的网址)。

经过一番调查后,我们将其缩小到这样一个事实,即有一个值不符合的cookie ...

Cookie内容为:

  

%7B%22distinct_id%22%3A%20%22vp37vv%22%2C%22%24initial_referrer%22%3A%20%22%24direct%22%2C%22%24initial_referring_domain%22%3A%20%22% 24direct%22%7D

为了省去urlencoded并解码为:

的麻烦
  

{" distinct_id":" vp37vv"," $ initial_referrer":   " $ direct"," $ initial_referring_domain":" $ direct"}

我的猜测是有某种"安全"检查一下,它正在查看cookie,不喜欢它在那里看到的内容,并且在错误的尝试中进行重定向以消除不良值。

我注意到如果我将该cookie值放在url中,那么它会进行类似的重定向。那将是:

  

http://www.example.com/?c=%7B%22distinct_id%22%3A%20%22vp37vv%22%2C%22%24initial_referrer%22%3A%20%22%24direct%22%2C%22%24initial_referring_domain%22%3A%20%22%24direct%22%7D

导致它重定向到http://www.example.com/(即它成功地摆脱了它没有的价值)。使用" safe"进行测试查询字符串值不会导致重定向。

所以问题:可能导致此问题的原因以及如何阻止其发生?

以任何方式更改cookie都不是一种选择,因为它是第三方软件的一部分 - 我需要让服务器接受这个cookie的存在。

我的猜测是这是一个php安全功能,但如果是这种情况,那我就找不到任何关于它的文档了。

1 个答案:

答案 0 :(得分:1)

有几件事可能会导致这个问题:

  • 一个Joomla安全插件(检查服务器上是否安装了非核心Joomla安全插件)
  • 正在触发的ModSecurity规则(或其他防火墙规则)。如果是这种情况,那么您需要将该规则列入白名单(请查看this post如何将ModSecurity规则列入白名单。)

我怀疑后者。