2016-08-02 27 views
1

我有一種情況,在Joomla/php上運行站點的Apache Web服務器正在設法讓自己進入重定向循環。由於「壞」cookie值,服務器進入重定向循環

當訪問http://www.example.com/它發出302重定向到http://www.example.com/(是的,相同的網址)。

一些調查,我們把範圍縮小到一個事實,即有一個值,它不喜歡一個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

爲了節省您是url編碼和解碼的麻煩:

{ 「distinct_id」: 「vp37vv」, 「$ initial_referrer」: 「$直接」, 「$ initial_referring_domain」: 「$直接」}

我的猜測是,有某種「安全」檢查正在進行,它正在查看cookie,不喜歡它在那裏看到的內容,並在錯誤地嘗試重定向以擺脫壞的價值。

我注意到,如果我把cookie值的網址,然後就做了一個類似的重定向。也就是說要:

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/(即它成功地擺脫了它不喜歡的價值)。使用「安全」查詢字符串值進行測試不會導致重定向。

所以這樣一個問題:什麼可能會造成這一點,我能做些什麼來阻止發生的呢?

以任何方式更改cookie不是一個選項,因爲它是第三方軟件的一部分 - 我需要讓服務器接受這個cookie的存在。

我的猜測是,這是一個PHP的安全功能,但如果是這樣那麼我無法找到任何關於它的文件的情況。

+0

什麼是您的Joomla版本?你使用的是什麼第三方擴展? –

+0

可悲的是,我不知道這兩個問題中的任何一個的答案。實際情況有點複雜 - 主站點由其他人控制,我負責的是一個子站點(subdomain.example.com),它設置導致問題的cookie。 :(我欣賞這使事情變得更加困難 - 我只是希望它是某種標準的php功能。: – Chris

+0

我在一個我正在查看的網站上發現了這個。如果我設置了一個包含引用的cookie %22)它進入了一個重定向循環。 –

回答

1

有一對夫婦的事情,可能會導致此問題:

  • 一個Joomla安全插件(請檢查您是否安裝在服務器上的非核心的Joomla安全插件)
  • 一個的ModSecurity規則(或其他防火牆規則)被觸發。如果是這種情況,那麼您需要將該規則列入白名單(有關如何將ModSecurity規則列入白名單,請參閱this post)。

我懷疑是後者。