使用p3p解决iframe中跨域传递cookie-阿里云开发者社区

开发者社区> 云计算> 正文
登录阅读全文

使用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/"");

 

 

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

 

 

 

 

版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。

分享:
云计算
使用钉钉扫一扫加入圈子
+ 订阅

时时分享云计算技术内容,助您降低 IT 成本,提升运维效率,使您更专注于核心业务创新。

其他文章