欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

如何跨域获取Cookie

程序员文章站 2022-05-26 20:40:38
...
cookie可以跨子域访问,如果用户信息保存在qq.com的cookie中,那么对于pay.qq.com, cb.qq.com是可以直接取到该cookie的。
但是如果qq.com.cn,qq.cn都要拿qq.com中的cookie时,cookie的存、放的操作该怎么办?


1)cookie不能跨根域,但js可以跨根域,在a.com登录后,用js的方式将cookie值传给
a.com.cn 形如a.com?cookie=XXX 在a.com.cn 中再保存一次该域名的cookie,这样的问题是可能存在不同的cookie 域包含同一个cookie值


2)直接跨根域读写是不可行的,浏览器不允许,比如qq.com要访问qq.cn的cookie,只能是qq.cn服务器自己读取cookie然后对外开放才行,比如提供qq.cn/getqqcnCookie.do服务,返回qq.cn的cookie信息,然后qq.com发出getqqcnCookie的请求给qq.cn,当然这个请求必须用JsonP的方式,下文“淘宝如何跨域获取Cookie分析”解释了这一方式。


3)采用SSO(Single Sign On)单点登录方式。

参考文章
淘宝如何跨域获取Cookie分析
http://developer.51cto.com/art/201104/255729.htm

JS跨域设置和取Cookie
http://developer.51cto.com/art/201104/256793.htm

【原创】ASP.NET 安全认证(四)
——巧妙实现 Form 表单认证跨站点、跨服务器的单点登录(Single Sign On)
http://blog.csdn.net/sweetsoft/article/details/592408