IE裏iframe無法讀寫Cookie的解決方案

 情景:在做開心網APP開發的時候,開心網APP是用iframe引用的,在IE中發現不能讀寫cookies,而在Firefox和Chrome中正常。

問題:在IE6中,Frame和 IFrame中無法按常規方法來讀寫cookies。

原因:因爲IE6加入了以Platform for Privacy Preferences(P3P)爲基礎的 隱私保護功能,用戶可以根據cookie的發信方是否提供第一方(信息接收人)還是第三方(共享信息的第三者)、信息的接收及使用、散發的選擇項(用戶是否拒絕將信息提供給第三者進行二次利用)等相關信息,來調節cookie的接收與否。

解決:只需要設置 P3P HTTP Header,在隱含 iframe 裏面跨域設置 cookie 就可以成功。

具體的內容是:P3P: CP=’CURa ADMa DEVa PSAo PSDo OUR BUS UNI PUR INT DEM STA PRE COM NAV OTC NOI DSP COR’

示例:

ASP:

<%Response.AddHeader "P3P", "CP=CAO PSA OUR"%>

 

php:

header('P3P: CP=CAO PSA OUR');

 

ASP.NET:

Response.AppendHeader("P3P", "CP=CAO PSA OUR");

 

JSP:

response.setHeader("P3P","CP=CAO PSA OUR")

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章