cookie基本使用
首先,需要在服务端返回的头部信息中增加:
 response.setHeader(“Access-Control-Allow-Origin”,“http://b.test.com”);
  
CORS请求默认不发送Cookie和HTTP认证信息。如果要把Cookie发到服务器,一方面要服务器同意,指定Access-Control-Allow-Credentials字段。

Access-Control-Allow-Credentials: true

另一方面,开发者必须在AJAX请求中打开withCredentials属性。

js:
var xhr = new XMLHttpRequest();
xhr.withCredentials = true;jq:document.cookie=“pin=test;domain=test.com;”;$.ajax({url:_url,type:"get",data:"",dataType:"json",xhrFields: {withCredentials: true},crossDomain: true,

否则,即使服务器同意发送Cookie,浏览器也不会发送。或者,服务器要求设置Cookie,浏览器也不会处理。
  需要注意的是,如果要发送Cookie,Access-Control-Allow-Origin就不能设为星号,必须指定明确的、与请求网页一致的域名。同时,Cookie依然遵循同源政策,只有用服务器域名设置的Cookie才会上传,其他域名的Cookie并不会上传,且(跨源)原网页代码中的document.cookie也无法读取服务器域名下的Cookie。

这里纠正一个误区,不是设置了cookie的domain参数,cookie就可以被跨域传输的。 其实,cookie的domain属性所说的跨域,确切地说,应该是跨子域(subdomain)。比如我在bbs.readlog.cn这个子域(这里是二级域名)下设置的cookie,如果不特别的设置domain属性,那这个cookie就只能被bbs.readlog.cn这个子域下的程序读到,至于www.readlog.cn是无法读取到这个cookie的,而我如果在bbs.readlog.cn设置cookie的时候,设置cookie的domain属性为readlog.cn,那么所有的子域就都可以读到这个cookie了。 其实仔细想一下,也会知道所谓跨域A.com去读取B.com的cookie仅仅通过cookie的domain属性是行不通的,如果这样是可以的,那无疑是一个巨大的安全隐患。

关于cookie的domain属性详解:

  1. 在任何域名下,cookie的domain参数都只能指定为当前域名或上级域名(包括上级的上级,等等),此外都是无效的。
    如:在t.a.b.com下,指定domain为t.a.b.com、a.b.com、b.com都是可行的。
  2. 在domain的参数前,是否存在符号“.”是完全相同的。
    如:domain=a.b.com和domain=.a.b.com是完全相同的。
  3. 脚本只可访问domain参数设置为当前域名或上级域名(包括上级的上级,等等)的cookie,以及当前域名下设置的没有domain参数的
    cookie。
  4. 如果不指定domain,则cookie无法在其他任何域名下被访问,即使是子域名。
  5. 指定domain与不指定domain的cookie是不相同的,即使下面的情况所产生的cookie也是不同的:
    case1:在a.b.com下,设置无domain参数的cookie。
    case2:在a.b.com下,设置domain=a.b.com的cookie。
    case1和case2所生成的cookie是完全不同的。

跨域传递cookie相关推荐

  1. jmeter学习指南之深入分析跨域传递cookie

    继上篇文章中介绍了Jmeter cookie manager的两种常用使用情况: jmeter视频:https://edu.51cto.com/course/14305.html 同一线程组和不同线程 ...

  2. iframe 跨域传递 cookie

    最近在处理 iframe 跨域通讯(也就是PostMessage的应用,有兴趣可以看一下我的文章),发现了个比较头疼的问题:在 iframe 环境中,无法跨域读取内嵌网页的 cookie ,得到的结果 ...

  3. 请求跨域设置同时允许cookie跨域(携带cookie)

    最近做一个前后端分离的项目,后台.Net 进行开发,使用session来进行身份验证.发现调用接口的时候总是显示未登录,经过检查发现每次请求过去的sessionid是不一样的,导致服务器找不到之前登陆 ...

  4. 转载 - 通过设置P3P头来实现跨域访问COOKIE

    作者:老王 网上看了别人介绍的一片文章,说使用P3P可以完成跨域COOKIE操作,感觉很COOL,不过没有提供源代码,我胡乱写了一下,大家看看. 实际工作中,类似这样的要求很多,比如说,我们有两个域名 ...

  5. SSO单点登录、跨域重定向、跨域设置Cookie、京东单点登录实例分析

    最近在研究SSO单点登录技术,其中有一种就是通过js的跨域设置cookie来达到单点登录目的的,下面就已京东商城为例来解释下跨域设置cookie的过程 涉及的关键知识点: 1.jQuery ajax跨 ...

  6. php跨域单点登录,SSO单点登录、跨域重定向、跨域设置Cookie、京东单点登录实例分析...

    SSO单点登录技术,其中有一种就是通过js的跨域设置cookie来达到单点登录目的的,下面就已京东商城为例来解释下跨域设置cookie的过程 涉及的关键知识点: 1. 跨域redirect实例: te ...

  7. PHP 通过设置P3P头来实现跨域访问COOKIE

    我的是CentOS的系统(Linux 内核) 编辑HOST vi /etc/hosts 加入 127.0.0.1        www.a.com 127.0.0.1        www.b.com ...

  8. 关于跨域获取cookie问题的解决

    关于跨域获取cookie问题的解决 参考文章: (1)关于跨域获取cookie问题的解决 (2)https://www.cnblogs.com/whoamme/p/3598889.html 备忘一下.

  9. 【跨域】一篇文章彻底解决跨域设置cookie问题!

    一篇文章彻底解决跨域设置cookie问题! 大家好我是雪人~~⛄ 之前做项目的时候发现后端传过来的 SetCookie 不能正常在浏览器中使用. 是因为谷歌浏览器新版本Chrome 80将Cookie ...

最新文章

  1. 【POCO】POCO学习总结(四)——MinGW编译poco
  2. C strcpy和strcat
  3. 【采用】机器学习在金融大数据风险建模中的应用
  4. 一次群晖中勒索病毒后的应急响应
  5. 基于网格的空间数据组织
  6. Linux下Verilog仿真过程(一)
  7. 无线鼠标可以强制配对_赛睿Rival 3 Wireless游戏鼠标评测:无限全能
  8. 查看某个文件是否正在被修改
  9. mongodb与java连接_MongoDBJava连接
  10. 如何正确地逛Github?
  11. Java solrj client 添加JavaEntity Bean
  12. 村级行政shape_行政区划图边界制作shap.doc
  13. c++运动学正反解 ros_MoveIt编程实现关节空间机械臂运动(正运动学)
  14. 如何快速下载百度网盘大文件
  15. 架构师应该具备什么技能
  16. Symbian手记【一】 —— Symbian命名法
  17. Android Studio 插件-Android Styler 的使用 (转)
  18. 解压缩zip文件的工具类
  19. 【N32G457】基于RT-Thread和N32G457的墨水屏日历
  20. 【UE4】给制作的小地图加上方向指针

热门文章

  1. Tre靶机打靶过程及思路
  2. Unity技能工厂——怎样实现丝滑的角色连击动画
  3. java数据结构-----时间复杂度、空间复杂度
  4. win10摄像头由于驱动原因无法打开。
  5. c语言5v电源电路工作原理,TCL王牌PWL4201C电源板工作原理介绍
  6. 父亲30岁,孩子6岁。多少年后父亲年龄是孩子两倍
  7. Python itchat 微信推送消息至指定群聊或个人
  8. 理查德·帕克”是历史上真实吃人船难…
  9. 用after伪元素实现微信对话框图形
  10. OpenGL设置三角形的法线