第三方Cookie存取的問題

如果你在A網站,內嵌一個iFrame裡面放B網站,那麼一般的狀況下,你的B網站是不可能可以存取Cookie的,這意味著你的ASP.NET的Session功能(使用Cookie模式而非Url模式)就會失效。就算你勉強的存入Cookie後,B網站的各頁面還是無法將這個Cookie順利的讀出。

一般來說,都是要進行跨站存取才會遇到這種問題。要解決這種問題只有兩種方法:

這裡引用黑暗執行緒大大所說的:

部署P3P的完整程序,應包含建立隱私權保護政策文件(policy.html)、原則檔(policy.xml)、原則參考檔(p3p.xml),其中的細節複雜到要靠額外編輯器工具才能搞定。而且要留意,若是對大眾營運的網站,宣告的隱私權保護政策與實際資料蒐集行為不符,會有吃上官司的風險,不可不慎。

在ASP.NET中加入P3P標頭的語法如下,其中NOI表示不蒐集可識別資料,ADM表示資料為網站管理用...等。詳情可以參考這篇文章「Renjin's blog-為你的網站部署 P3P 隱私權政策」。

Response.Headers.Add("P3P", "CP=\"NOI ADM DEV COM NAV OUR\"");
第三方Cookie 3rdCookie P3P ASP.NET