我知道這個話題已被廣泛報道,但我完全陷入困境,需要一些方向和新的意見。我有一個完全適用於IE6,8,Safari,Chrome,FF等的Facebook iFrame應用程序。只有IE7讓我感到悲傷。Facebook的iFrame應用程序 - IE7不允許cookies
我已經創建了一個P3P策略文件及其關聯的XML文件。該政策與P3P策略驗證人完全驗證。
只要iFrame從Facebook內部加載,就會出現紅眼圖標,當我點擊它時,它會報告來自iFrame域的cookie被阻止。我已確認在IE7上設置了默認的「中等」隱私設置。有趣的是,我發現通過刪除Google Analytics,頁面將在不阻止Cookie的情況下初始加載,但只要頁面重新加載或用戶登錄,cookie即會再次被阻止,即使P3P標題是從每個頁。所有資產都是通過S3發送的,所以在那裏不應該有任何問題。
僅供參考,這是我的P3P文件;我已經嘗試了絕對路徑,相對路徑,CP和policyref的切換順序,並將兩者分隔開來,但沒有運氣。
header('P3P: CP="NON DSP TAIa PSAa PSDa OUR IND UNI", policyref="/w3c/p3p.xml"');
我已確認P3P標題正在被瀏覽器發送和接收。我已經在HTML頁面添加了一個META p3p標籤。我已刪除所有重定向。問題仍然存在。我花了很多時間來研究這個問題,現在我已經沒有想法了。任何有關如何從新的角度來看待這個想法或想法將不勝感激。我在NGINX上使用PHP 5.3.5。沒有框架正在使用...
嗨Peter:很有意思,謝謝你的解釋。不幸的是,我們的請求是通過AJAX進行的,所以硬刷新不是一種選擇。我們最終做的是存儲在一個JSON對象所需的數據,並驗證了在提交數據,如果我們有一個有效的會話,否則(IE7),提交的數據。由於該應用程序只能在短時間內運行,因此我們並不太在意僞造的數據。 我們也使用JS SDK殺無效會話(只有這樣,因爲FB的狀態餅乾通過它們的域管理),所以不能去因爲這個原因這條路線也是如此。 – Tyler 2011-02-08 16:15:05