cookie 老丟失


IE無法獲得cookie、ie不支持cookie的解決辦法 (轉載)
2010年10月30日 星期六 15:15

--------------------------------------------------------------------------------

昨天進網站系統的時候,發現用自己的電腦 IE7.0總是無法正常登錄,別的電腦都可以。

每次登錄后又被重定向回了登錄頁面。

可換成Firefox和google chrome 卻一切OK,后來還把瀏覽器升級到IE8.0 問題依就。不由得

想起,自己以前有

次也遇到過就種情況,后來實在沒時間找原因,直接把系統還原了。還原后就對了。 這次又

遇到,郁悶了。
初步推斷應該是Cookie的問題。 在網上查了些資料,把所有現有Cookie刪除,又將“隱私”

選項設為“接受所

有Cookie”后再試。問依舊。
沒辦法,只能抓包了。 誰知一看就發現問題了:
expires=Tue,1-Jul-2009 14:23:00 GMT; path=/
Cookie的過期時間好像不對,今天明明是7月8號…… 哦,終於想起了,昨天晚上我好像為了做什么,把我的機器的日期改了下,后來就忘了。

但是為什么用Firefox沒有問題呢?
搜索了下,看到了一篇IE 與FireFox 對Cookie時間的不同理解這篇文章后恍然大悟:

對於IE而言,Cookie的有效時間段是理解為客戶端的時間與服務器端時間的間隔,即如

果Cookie的時間設置為time()+300,那么在 IE里,Cookie有效的條件是:客戶端時間(驗

證Cookie時間)-服務器端時間(定義Cookie的時間)<300(秒);所以這種 情況下,當我

們網站上的驗證碼腳本被執行時,Cookie就已經過期了,所以驗證碼失效。
而對於FireFox而言,Cookie的有效時間完全由服務器端的時間決定,以上面的假設為例,即

Cookie有效的條件是:服務器端時間T2 (驗證Cookie時間)-服務器端時間T1(定

義Cookie的時間)<300(秒)。所以在FireFox里,當打開系統登錄頁時,我輸入用戶 名、密

碼及驗證碼的時間肯定不會超過300秒,自然就可以正常登錄。Firefox的cookie不依賴於服

務器的時間,可見,FireFox是充分考慮到了服務器端與客戶端的時差問題。

經過就件事,不由於聯想到最近公司剛上的服務器,程序也遇到此種情況,ie有問

題,Firefox沒問題,而且在服務器上運行網站也沒問題,后來忙,不想重裝IIS,都是自己把程

序改了些。勉強可以用。莫非也是服務器的時間不對,馬上遠程連接上服務器,一看服務器的

日期:7月6日,今天明明是7月8日,原來如此,終於把這個煩人的問題的原因找到了。


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM