IE10似乎以不同於其他主流瀏覽器(IE8,IE9,Firefox,Chrome,Safari)的方式處理Cookie和子域名。默認情況下,IE10跨子域共享Cookie
我們使用子域名廣泛的測試環境,如:
- user1.devel.example.com
- user2.devel.example.com
- qa.example.com
我們的生產環境居於頂端,例如example.com(在技術上也在www.example.com上)。
我們使用php setcookie($name, $value, $expires)
函數天真地(沒有明確的路徑或域被指定)來設置一個cookie,然後清除cookie(當用戶註銷時)通過給該值分配一個空字符串。這一直運行良好,每個獨特的子域使用自己的cookie。
IE10現在「共享」在所有子域中設置的頂級域名(TLD)中設置的cookie。我們觀察到的最初症狀是沒有人能夠註銷子域。我們觀察了幾件事情:
- 儘管它共享該值,但沒有子域能夠清除cookie。
- 當TLD清除cookie時,它也會立即從所有子域中刪除。
有沒有其他人觀察到類似的行爲,IE10如何存儲/應用cookie相對於子域?是否有任何解決方法,除了明確發送初始Set-Cookie頭時cookie應用於哪個域?
我已經經歷了IE10和餅乾的煩惱。我不知道你的問題是否一樣。看到這裏我的問題的詳細信息:http://stackoverflow.com/questions/15856886/ajax-on-ie10-dont-send-cookies – jmcollin92 2013-04-06 22:49:30
此行爲是存在於IE8和IE9了。 – 2013-09-18 14:05:32