Cookie深层子域名

时间:2018-02-05 14:06:59

标签: cookies

寻找关于cookie和子域的一些输入,我已经阅读了[1] [2]和[3]。

如果我将Cookie的域名设置为“.live.example.com”

cookie是否可用于api.live.example.com?

我相信答案是肯定的。

该cookie是否可用于uat.example.com?

我相信答案是否定的。

将设置其他Cookie属性,这些属性应该是无关紧要的,但我会提到以防有人认为它们是相关的:

httpOnly - 已启用

安全启用

过期 - 会话结束

在什么条件下cookie不会被发送到api.live.example.com(网站有一个有效的SSL证书,如果有人建议网站不在SSL模式,因为设置了安全标志)?

为什么我会问第二个问题?

我之前已将Cookie设置为“.example.com”。 cookie没有通过XMLHTTPRequest(从www.example.com加载js)发送到api.example.com,但打开另一个浏览器选项卡并向api.example.com发送GET请求,发送cookie。因此,浏览器在这里做出一些决定。

我已经阅读过任何内容吗?

是的,我已经在stackoverflow上回顾了以下问题,并且还阅读了RFC6265第5.1.3和5.2.3节。我所读到的任何内容都表明这种方法不起作用:

[1]现有的stackoverflow问题 - Cookies子域 Share cookie between subdomain and domain

[2] RFC状态管理 - 域匹配 https://tools.ietf.org/html/rfc6265#section-5.1.3

[3] RFC状态管理 - 域属性 https://tools.ietf.org/html/rfc6265#section-5.2.3

1 个答案:

答案 0 :(得分:1)

我可以确认我已经创建了一个测试用例来回答这些问题:

  

cookie是否可用于api.live.example.com?

答案是肯定的。

  

该cookie是否可用于uat.example.com?

答案是否定的。

如@CBroe所述,对于XMLHTTPRequests,withCredentials标志必须设置为true [1]。

而且,如果有人问这个问题,那么“www.example.com”

  

Cookie是否可以访问www.example.com?

希望从上一个问题/答案中可以看出这一点。

不,cookie将无法访问www.example.com

[1] XMLHTTPRequest withCredentials。

https://developer.mozilla.org/en-US/docs/Web/API/XMLHttpRequest/withCredentials