我注意到,当从subdomain1.example.com向subdomain2.example.com发送 ajax 请求时,即使它们具有 SameSite=lax 或 SameSite=strict 属性,也会包含来自subdomain2的cookie 。这与跨无关域(例如example1.com -> example2.com)的请求不同,后者在 SameSite 属性存在时不包含 cookie。
在这两种情况下,我都使用未设置域属性的 Set-Cookie 标头在服务器端创建 cookie。据我了解,在这种情况下,cookie 与客户端的域相关联。但是,兄弟域似乎被视为一个域。
我的诊断似乎得到了铬项目中的这个测试的证实:
EXPECT_TRUE(CompareDomains("http://a.x.com/file.html",
"http://b.x.com/file.html")); // x.com
这种行为是故意的还是我的测试中有一些缺陷?是否可以为兄弟域实现 cookie 隔离,或者如果有这样的要求,那么我需要使域不相关?