閱讀261 返回首頁    go 阿裏雲 go 技術社區[雲棲]


使用p3p解決iframe中跨域傳遞cookie

使用p3p解決iframe中跨域傳遞cookie的問題

 

昨天在做一個集成的時候 發現一個問題 : A.com的 iframe中嵌入 B.com的問題,恰好 需要在iframe中登陸到 B.com,結果發現成功登陸後並未轉跳到B.com中的預期頁麵,後來發現是cookie丟失了,瀏覽器阻止了B.com的cookie

java中的解決方法如下 :寫一個攔截器,然後配置你的action上就 ok 了 public class P3PInterceptor implements Interceptor {

 public void destroy() {   // TODO Auto-generated method stub

 }

 public void init() {   // TODO Auto-generated method stub

 }

 public String intercept(ActionInvocation invocation) throws Exception {         HttpServletResponse response = ServletActionContext.getResponse();

     response.setHeader("P3P","CP=/"NON DSP COR CURa ADMa DEVa TAIa PSAa PSDa IVAa IVDa CONa HISa TELa OTPa OUR UNRa IND UNI COM NAV INT DEM CNT PRE LOC/"");      return invocation.invoke();  }

}

本質上就是改變response的header(加入了p3p這個網站隱私策略的信息,具體的p3p信息請參考google,本文不再贅述)所以其他的語言平台也可以如法炮製不需在每一個action都做這種配置,隻需配置一個,瀏覽器就知道了,當訪問其他action的時候,瀏覽器會自動傳送該域的cookie

 

 

 

jsp中設置http的P3P頭實現跨域設置cookie

response.setHeader("P3P","CP=/"CURa ADMa DEVa PSAo PSDo OUR BUS UNI PUR INT DEM STA PRE COM NAV OTC NOI DSP COR/"");

 

 

https://www.360doc.com/content/09/0807/16/203871_4731702.shtml

 

 

 

 

最後更新:2017-04-02 06:51:22

  上一篇:go 數據庫水平切分的實現原理解析
  下一篇:go iphone圖標資源總匯