`
sealbird
  • 浏览: 571522 次
  • 性别: Icon_minigender_1
  • 来自: 广州
社区版块
存档分类
最新评论

cookie完全跨域

 
阅读更多

Posted on 2010-12-16 15:43 蜗牛向上爬 阅读(1081) 评论(0)  编辑 收藏 
  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

分类: JavaScript
分享到:
评论

相关推荐

    Ajax跨域访问Cookie丢失问题的解决方法

    主要介绍了Ajax跨域访问Cookie丢失问题的解决方法,需要的朋友可以参考下

    你可能不知道的CORS跨域资源共享

    但是我们在日常实际开发中,常常会遇到跨域请求的需求,因此就出现了一种跨域请求的方案:CORS(Cross-Origin Resource Sharing)跨域资源共享。 CORS背后的原理是:使用自定的HTTP头部与服务器进行沟通,从而由...

    关于谷歌Chrom 80版本升级后,跨域Samesite必须有值影响跨域项目的解决

    对于开发小白来说,这都说的是什么玩意,完全不懂!没关系,我也不懂。 解决方案:首先确定你自己项目的WEB服务器 1、Apache解决方案 首先你需要在httpd.conf文件中开启mod_header模块  LoadModule headers_module...

    跨域资源共享 CORS 详解

    对于开发者来说,CORS通信与同源的AJAX通信没有差别,代码完全一样。浏览器一旦发现AJAX请求跨源,就会自动添加一些附加的头信息,有时还会多出一次附加的请求,但用户不会有感觉。 因此,实现CORS通信的关键是...

    cors-proxy:Servlet代理代理访问,通常需要CORS,而在遗留浏览器存在无法完全实现的问题(例如会话控制)的情况下

    一些浏览器没有完全实现CORS,这会导致访问资源的问题,这些事件需要发送cookie来标识会话。 该servlet将为真正的服务提供代理。 安装方式 安装包括导出身份验证密钥目标地址证书,在servlet配置属性中配置访问数据...

    koan:KOAN(Koa,Angular,Node,Mongo)入门套件,用于全栈JavaScript Web开发

    客户端是完全静态的,并且已准备好CDN。 所有客户端软件包都位于client\bower_packages 。 服务器:Koa,用于在Node.js上提供RESTful API。 ES6 async / await功能一直保持! WebSockets与JSON-RPC一起用于实时...

    Spring-Boot-Shiro:Shiro基于SpringBoot + JWT构建简单的restful服务

    Shiro + JWT + Spring Boot Restful简易教程GitHub项目地址...放弃Cookie,会话,使用JWT进行鉴权,完全实现无状态鉴权。 JWT密钥支持过期时间。对跨域提供支持。准备工作在开始本教程之前,请保证已经熟悉以下几点。 S

    maoyanMovie:基于express + vue2 + vuex构建的大型单页面应用 :dolphin:

    stack project base on express and vue项目设计该项目是一个完全前后端分离的实践,模仿了猫眼电影移动应用,涉及到前后端结构设计、两套环境配置中心、前端路由使用 history 模式、代理请求猫眼接口、跨域请求该...

    ASP.NET.4揭秘 卷2

    n215 跨域使用Forms身份验证 n216 使用FormsAuthentication类 n217 使用User类 n22 配置安全授权 n221 角色授权 n222 根据位置授权访问文件 n223 对图片以及其他文件类型进行访问授权 n23 使用ASPNET Membership ...

    医院信息系统(临床诊疗、药品管理、财务管理、患者管理)

    Js-cookie 2.2.0 Cookie组件 Jsonlint 1.6.3 Json解析组件 screenfull 4.2.0 全屏组件 Xlsx 0.14.1 Excel表导出组件 Webpack ———— 模板打包器 二. 项目展示 主页 主页 门诊医生工作台 门诊医生工作台 医技医生...

    PHP编程 SSO详细介绍及简单实例

    第一种模式很简单,只需要将Cookie的域设置成多个应用的根域即可 第二种方式,也很简单,就是将所以应用的认证地址更换成同一个认证地址,每次查看是否在认证中心登陆,如果登陆了,给调用应用发放一个加密令牌即可 第...

    HTTP-Forwarders:Go和PHP HTTP转发器代理

    因此,我需要一个我目前正在从事的项目的http代理,该代理可以让我通过转发完全映射自己域中的网站(在这种情况下,是为了破坏跨域脚本)。 我很快就能在互联网上找到的唯一有用的东西是[Rob ThomsonPHP代理](位于 ...

    工程硕士学位论文 基于Android+HTML5的移动Web项目高效开发探究

    第三章 跨域交互缓存处理设计 17 3.1 跨域交互缓存处理需求 17 3.1.1 缓存技术WebStorage 17 3.1.2 跨域交互缓存处理需求 17 3.1.3 页面回退管理需求 17 3.2 缓存处理机制 18 3.2.1 跨域缓存处理 18 3.2.2页面回退...

    SSO CAS 单点登录实例SSOAuth+SSOWebDemo1+SSOWebDemo2.zip

    但是有一个限制,那两台部署应用(demo1、demo2)的 机器的域名需要相同,这在后面的章节中会解释到cookie和domain的关系以及如何制作跨域的WEB-SSO 解压缩SSOAuth.zip文件,在/WEB-INF/下的web.xml中请修改...

    JavaScript权威指南(第6版)(中文版)

    22.3 跨域消息传递 22.4 Web Worker 22.5 类型化数组和ArrayBuffer 22.6 Blob 22.7 文件系统API 22.8 客户端数据库 22.9 Web套接字 第三部分 JavaScript核心参考 JavaScript核心参考 第四部分 客户端JavaScript参考 ...

    JavaScript权威指南(第6版)

    22.3 跨域消息传递 22.4 Web Worker 22.5 类型化数组和ArrayBuffer 22.6 Blob 22.7 文件系统API 22.8 客户端数据库 22.9 Web套接字 第三部分 JavaScript核心参考 JavaScript核心参考 第四部分 客户端JavaScript参考 ...

    JavaScript权威指南(第6版)

    22.3 跨域消息传递 668 22.4 web worker 671 22.5 类型化数组和arraybuffer 678 22.6 blob 682 22.7 文件系统api 691 22.8 客户端数据库 696 22.9 web套接字 704 第三部分 javascript核心参考 javascript核心参考 ...

    JavaScript权威指南(第6版)中文文字版

    22.3 跨域消息传递 668 22.4 web worker 671 22.5 类型化数组和arraybuffer 678 22.6 blob 682 22.7 文件系统api 691 22.8 客户端数据库 696 22.9 web套接字 704 第三部分 javascript核心参考 javascript核心参考 ...

    JavaScript权威指南(第6版) 中文版

    22.3 跨域消息传递 668 22.4 web worker 671 22.5 类型化数组和arraybuffer 678 22.6 blob 682 22.7 文件系统api 691 22.8 客户端数据库 696 22.9 web套接字 704 第三部分 javascript核心参考 javascript核心参考 ...

Global site tag (gtag.js) - Google Analytics