Welcome! 登入 註冊
美寶首頁 美寶百科 美寶論壇 美寶落格 美寶地圖

Advanced

[HOW TO] 讓 IE 接受第三方 cookie:設定 P3P Header

[HOW TO] 讓 IE 接受第三方 cookie:設定 P3P Header

分類標籤: 程式設計  PHP
在某些情況下,我們會需要讓 cookie 傳給第三方網站 (例如想讓使用者在二個自己的網站同時登入)。一般的作法是用 <img> 或 <iframe> 來將 cookie 資訊來傳給第三方網站。而這邊要提的是在這種情況下, 如何解決 IE (Internet Explorer) 在預設的情況下不接受 Third-Party cookie 的問題。

作法很簡單,只要宣告一個 P3P Header (P3P 是 Platform for Privacy Preferences Project 的簡稱) 就可以了。同時,要特別注意,這個 header 是要設在「第三方」的網站,也就是不是使用者正在瀏覽的網站,是 <img> 或 <iframe> 裡面引用、呼叫的網站。

底下是各種程式語言的宣告方式:

PHP:
header('P3P:CP="IDC DSP COR ADM DEVi TAIi PSA PSD IVAi IVDi CONi HIS OUR IND CNT"');

JSP:
response.setHeader(“P3P”,”CP=’IDC DSP COR ADM DEVi TAIi PSA PSD IVAi IVDi CONi HIS OUR IND CNT’”)

ASP.NET:
HttpContext.Current.Response.AddHeader("p3p", "CP=\""IDC DSP COR ADM DEVi TAIi PSA PSD IVAi IVDi CONi HIS OUR IND CNT\""")

ColdFusion:
<cfheader name=”P3P” value=”CP=’IDC DSP COR ADM DEVi TAIi PSA PSD IVAi IVDi CONi HIS OUR IND CNT’” />

(上面的程式的「引號」有些問題,要自己改一下。)


Reference:
How to set third-party cookies with iframe?