IE6/IE7支持的P3P導致iframe和跨站點cookie被阻止[ 2009-11-30 11:05:38 | 作者: admin ] 之前的博客iframe和跨站點cookie引起的session失效問題中已經(jīng)講到過此問題,,其根源也是由于iframe跨站點cookie被阻導致session失效。但是當時因為兩個站點都是自有的服務(wù)器,,因此通過設(shè)置了相同的父域名解決了此問題,所以后來也就沒有深入研究此問題。 目前在開發(fā)新功能時,,又一次遇到了此問題,但是如果仍舊通過更改域名的方式來解決的話,,設(shè)計上可能就會非常麻煩,。于是不得已徹底翻了一下資料,,初步研究結(jié)果如下: 問題根源: IE6/IE7支持的P3P(Platform for Privacy Preferences Project (P3P) specification)協(xié)議默認阻止第三方無隱私安全聲明的cookie,F(xiàn)irefox目前還不支持P3P安全特性,,firefox中自然也不存在此問題了,。Mircosoft對此的具體描述可以參見 Privacy in Internet Explorer 6 解決方法: 很簡單,在要嵌入的內(nèi)容中(iframe指向的站點)輸出P3P的主機頭聲明,,步驟如下(Session variables are lost if you use FRAMESET in Internet Explorer 6): 1.打開IIS管理器 inetmgr 2.選擇被嵌入iframe源站點或者目錄,,右鍵點擊打開屬性框 3.切換到HTTP頭 4.添加 5.自定義HTTP頭名: P3P 6.自定義HTTP頭值: CP="CAO PSA OUR" 7.關(guān)閉屬性框退出,即刻生效 至于上面CAO PSA OUR的具體意思,,還是請參考前面的文章:Privacy in Internet Explorer |
|
來自: 昵稱597197 > 《技術(shù)文章》