当前位置:首页 > 开发 > 编程语言 > 编程 > 正文

cookie完全跨域

发表于: 2012-10-30   作者:dcj3sjt126com   来源:转载   浏览:
摘要:   cookie是用来在某一个域下使用的,比如在.baidu.com这个域下种一个cookie,那么.google.com这个域就不能使用它; 这是浏览器出于对用户隐私保护的考虑。要实现跨域的一个思路就是:客户端浏览器对某些html标签(比如script、iframe)的src没有进行跨 域限制,用它们以GET方式夹带本域种的cookie值动态请求外域的程序,这个外域的程序来种植该域的

 

cookie是用来在某一个域下使用的,比如在.baidu.com这个域下种一个cookie,那么.google.com这个域就不能使用它; 这是浏览器出于对用户隐私保护的考虑。要实现跨域的一个思路就是:客户端浏览器对某些html标签(比如script、iframe)的src没有进行跨 域限制,用它们以GET方式夹带本域种的cookie值动态请求外域的程序,这个外域的程序来种植该域的值为GET参数传过去的cookie,从而达到互 通的目的。例如:
  最近上线的家天下单点登录首页里有一个员工论坛的链接,而员工论坛部署在.soufun.com域名下。为了实现在家天下单点登录首页可以直接进入员工论坛。我们的做法是:在家天下单 点首页加载完后,利用js在页面动态添加一个script标签,向搜房的单点的接口发请求,验证通过后设置.soufun.com域的cookie。就有 了.soufun.com域下的cookie,论坛就可以直接进入了。

      这样的做法就是所谓的“jsonp”,用iframe也可以实现同样的效果。但是iframe存在很多浏览器兼容问题,个人认为还是用jsonp更省事。

      经过实际使用发现Firefox、chrome等不用P3P也可以跨域,但是IE必须用加P3P的头信息才可以跨域。看来IE对跨域的限制更为严格!所以要想实现完全跨域,还是加上下面这句头信息比较好:)
header('P3P: CP="CURa ADMa DEVa PSAo PSDo OUR BUS UNI PUR INT DEM STA div COM NAV OTC NOI DSP COR"');

但是网上有人说P3P有安全隐患,我没有搜到具体原因和更好的解决方案。

参考资料:http://xiaolele.javaeye.com/blog/666434

cookie完全跨域

  • 0

    开心

    开心

  • 0

    板砖

    板砖

  • 0

    感动

    感动

  • 0

    有用

    有用

  • 0

    疑问

    疑问

  • 0

    难过

    难过

  • 0

    无聊

    无聊

  • 0

    震惊

    震惊

版权所有 IT知识库 CopyRight © 2009-2015 IT知识库 IT610.com , All Rights Reserved. 京ICP备09083238号