`
q272156430
  • 浏览: 269912 次
  • 性别: Icon_minigender_1
  • 来自: 成都
社区版块
存档分类
最新评论

cookie跨域访问的问题

阅读更多

cookie跨域访问的问题(多个项目间)

    今天有一同事问到一个Cookie跨域访问的问题,大概是这样的:“有两个不同域名的系统A(www.a.com/a.jsp)与

 

B(www.b.com/b.jsp);当系统A成功登录后,系统B也能够同时自动完成登录,有点像一点登录的效果”。

 

 

        为了快速、简单的实现这一功能,首先想到就是通过JS操作Cookie并让两个不同域的cookie能够相互访问,这样就可达到了上述的效果,具体实现过程大致可分以下两个步骤:

 

   1、在A系统下成功登录后,利用JS动态创建一个隐藏的iframe,通过iframe的src属性将A域下的cookie值作为

get参数重定向到B系统下b.jsp页面上;

var _frm = document.createElement("iframe"); _frm.style.display="none"; _frm.src="http://b.com/b.jsp?test_cookie=xxxxx"; document.body.appendChild(_frm); 

 

 

         2、在B系统的b.jsp页面中来获取A系统中所传过来的cookie值,并将所获取到值写入cookie中,这样就简单的实现了cookie跨域的访问; 不过这其中有个问题需要注意,就是在IE浏览器下这样操作不能成功,需要在b.jsp页面中设置P3P HTTP Header就可以解决了(具体詳細信息可以参考:http://www.w3.org/P3P/),P3P设置代码为:

<%response.setHeader("P3P","CP='IDC DSP COR ADM DEVi TAIi PSA PSD IVAi IVDi CONi HIS OUR IND CNT'");%>
 

 

分享到:
评论

相关推荐

Global site tag (gtag.js) - Google Analytics