2011-09-26 146 views
4

我有一個PHP重定向腳本,做下面一個奇怪的問題:餅乾腐敗

  1. 廠在用戶瀏覽器的cookie,或閱讀現有的Cookie(如果有)。
  2. 將用戶重定向到另一個URL(重定向的URL是原始URL中的參數,例如http://my.redir.com?url=www.google.com)。
  3. 記錄重定向(時間,用戶代理,引用者,cookie)。

每隔一段時間(非常少見,百萬分之一),我看到一個cookie在日誌文件中被損壞。 所有cookies的格式爲XXXX-XXXX,當X是a-f或0-9時(所以有效的cookie可以是7bfab3-d8694)。損壞的曲奇具有替換字符或連字符之一的字符:/,例如, 7bfa:3-d86947bfab3/d8694

問題是,這是什麼原因造成的? 它可能是我的腳本或它運行的服務器的問題,還是更可能是用戶瀏覽器中的問題?

- 更多信息 -

我已經找到了損壞的甜餅的用戶代理:

Mozilla/4.0 (compatible; MSIE 7.0; Windows NT 5.1; Sky Broadband; GTB7.1; Sky Broadband; .NET CLR 2.0.50727; .NET CLR 3.0.4506.2152; .NET CLR 3.5.30729; Sky Broadband) 
Mozilla/5.0 (Macintosh; U; Intel Mac OS X 10_4_11; en) AppleWebKit/533.19.4 (KHTML, like Gecko) Version/4.1.3 Safari/533.19.4 
+0

奇怪!這幾乎肯定是客戶端的一部分。我想如果這種情況很少發生,就沒有辦法測試它。可能是在客戶端計算機上損壞的文件。也可能是壞人試圖破壞事物。 – Charlie

+0

您是否意識到,除非您驗證「重定向至」網址,否則這樣的重定向是安全威脅?例如。網絡釣魚者可以發送一封電子郵件,其中包含指向您網域的所有網址,而實際上它們都在其他地方(黑客的網站)發佈。所以你需要使用某種散列來防止它... – haimg

+1

值得注意的是,在ASCII中,[/是緊接在0之前,並且緊接在9之後](http://en.wikipedia.org/wiki/ASCII#ASCII_printable_characters)。 – nandhp

回答

1

各種「報廢」機器人寫得不好,充滿了錯誤。我在日誌中看到類似的行爲,例如不正確的HTML解析器錯誤地鏈接,「消毒」或URL編碼和URL解碼錯誤的東西等。

所有這一切,而「代理」字符串看起來像普通的瀏覽器。我被這一次嚇壞了,直到我注意到在幾秒鐘內幾百個不同的頁面被擊中。沒有機會,這只是一個人正在衝浪。

因此,我建議您嘗試在日誌中查看此IP /代理組合訪問的內容,如果這是一個機器人,請不要擔心。

+1

我沒有機會測試這個,但由於賞金結束,沒有新的答案出現,這裏喲去:) – Galz

0

我會說這是一個客戶端故障。但很難說所有的流量,如果你使用例如setcookie()嘗試使用$ _SESSION ['sess'] =「cookie」,而不是看看問題是否仍然存在。 我希望這可以幫助, 問候。