簡短的回答第一個:)
您可以添加標題只是作爲
response.setHeader("P3P", "CP=\"CAO IDC DSP COR ADM DEVi TAIi PSA PSD IVAi IVDi CONi HIS OUR IND CNT\"");
但你需要的所有資源的標題,最好去過濾
public class P3PFilter implements Filter {
public void destroy() {
}
public void doFilter(ServletRequest req, ServletResponse res, FilterChain filterChain) throws IOException, ServletException {
HttpServletResponse resp = (HttpServletResponse) res;
resp.addHeader("p3p", "CP=\"IDC DSP COR ADM DEVi TAIi PSA PSD IVAi IVDi CONi HIS OUR IND CNT\"");
filterChain.doFilter(req, resp);
}
public void init(FilterConfig arg0) throws ServletException {
}
}
長答案
我以前遭受過同樣的問題。大概就像你一樣,我做了功課,並對P3P政策是什麼以及如何使用P3P政策有了一個公正的理解。我引用了在同一時間都
官方鏈接
http://www.w3.org/P3P/
http://p3ptoolbox.com/guide/
著名博客
http://www.marco.org/2007/04/27/p3p-sucks-how-to-get-frame-cookies-unblocked-in-ie6
http://www.techrepublic.com/blog/software-engineer/craft-a-p3p-policy-to-make-ie-behave/
值得注意的SO問題
Cookie blocked/not saved in IFRAME in Internet Explorer
P3P Policy not working to allow 3rd party cookies in IE
儘管這樣,我仍然無法使其正常工作。我是無法實現的,而我最終與這個amazing book的幫助下了解到的情況是,報價
以便爲Internet Explorer用戶第三方Cookie(與 默認安全設置),您需要使用您的資源返回一個特殊的P3P HTTP 標題,該資源聲明您的服務打算如何使用用戶數據 。此標題需要返回全部 HTTP 對您資源的迴應,而不僅僅是那些設置cookie。這 意味着靜態資源,AJAX端點,iframes的一切。
我懷疑這也可能是您的問題,我使用的P3P策略與您的策略幾乎完全相同,因此您不會因無效策略而被拒絕。
我把我的頭沒有一個URL的P3P策略,如在techrepublic博客中表示
IE不壓縮策略比較全格式策略,並 全格式政策不需要
這在我的測試中已經證明是正確的。這意味着您可以添加標題只是作爲
response.setHeader("P3P", "CP=\"CAO IDC DSP COR ADM DEVi TAIi PSA PSD IVAi IVDi CONi HIS OUR IND CNT\"");
然而,當你需要它在所有的反應最好寫一個過濾器類似
public class P3PFilter implements Filter {
public void destroy() {
}
public void doFilter(ServletRequest req, ServletResponse res, FilterChain filterChain) throws IOException, ServletException {
HttpServletResponse resp = (HttpServletResponse) res;
resp.addHeader("p3p", "CP=\"IDC DSP COR ADM DEVi TAIi PSA PSD IVAi IVDi CONi HIS OUR IND CNT\"");
filterChain.doFilter(req, resp);
}
public void init(FilterConfig arg0) throws ServletException {
}
}
,並應用了過濾器的所有請求。
<filter>
<filter-name>P3P Filter</filter-name>
<filter-class>your.package.P3PFilter</filter-class>
</filter>
<filter-mapping>
<filter-name>P3P Filter</filter-name>
<url-pattern>/*</url-pattern>
</filter-mapping>
您可以嘗試創建一個新過濾器,並將其設置爲過濾器鏈中的第一個過濾器,在其中添加P3P標頭,因爲@NaMaN表示 – 2015-02-20 13:15:46