昨天我有類似的問題,發現解決方案。我希望這也能幫助別人。
問題:假設有一個網站www.somewebsite.com和裏面IFRAME whcih從我的服務器加載PHP文件,www.myserver.com/welcome.php。網站加載成功,以及我的歡迎頁面,它顯示了「Hello Bob」之類的東西,所以它成功找到了用戶並登錄了他。
之後,我的JavaScript正在調用另一個PHP文件的AJAX調用,處於「未經授權」狀態,因此SESSION數據完全丟失。頁面刷新後,一切工作正常。這隻發生在IE8下!
我認爲問題在於發送會話cookie到服務器,但是當我安裝Fiddler時,我發現IE8正確地發送了cookies以及PHPSESSID,但服務器有點無法檢測到正確的SESSION對象。另一個奇怪的是,第2次的服務器發送以下標題:
P3P:CP = 「IDC DSP COR ADM德維戴氏PSA PSD IVAi IVDI CONI他對我們IND CNT」
,但第一次沒有。在PHP腳本中手動添加該標題後,所有事情都像一個魅力!
然後,當我用Google搜索的是「P3P胡言亂語」,我發現下面的網站:
http://adamyoung.net/IE-Blocking-iFrame-Cookies
結論:確保您要發送每一個設置一個cookie首頁的頁眉。
這是不是不僅關係到IE8 + PHP組合,同樣的問題在IE8 +的情況下,ASP.NET,IE8 + JSP情況等
難道IE 8發正常請求上的Cookie? – Gumbo 2009-03-04 17:54:15
正常請求工作正常,但在ajax請求清除cookie後。 – 2009-03-05 10:41:36