因此,我已经阅读了Chrome 80's cookies defaulting to SameSite=Lax的内容,与您的其他人一样,我现在想确定这将对我的网站产生什么影响。
我正在运行的网站分为几个子域,每个子域都使用自己的cookie。看起来像这样:
path=/; secure; httponly
)path=/; secure; httponly
)由于这些cookie未指定SameSite
属性,因此应将它们在Chrome 80上视为{{1}},因此应仅限于同一站点请求(除非它是顶级导航)
然后根据SameSite cookies explained:
如果用户在 your-project.github.io 上,并从 my-project.github.io 。这是一个跨站点请求。
因此,当我启用“默认情况下,SameSite cookie”和“没有SameSite的cookie必须是安全的”标志时,我惊讶地发现,当 first-site.domain.com 嵌入在一个框架中,second-site.domain.com 仍然被发送到 second-site.domain.com ,这似乎是矛盾的。
>我肯定一定误会了一些东西,但此刻,我仍然感到困惑。
注意:我已验证,当我将 second-site.domain.com 嵌入到 anotherdomain.com 上的框架中时,浏览器不会发送Cookie (如预期)。
答案 0 :(得分:5)
如果public suffix list上有“ domain.com”,则将subdomain1.domain.com和subdomain2.domain.com视为不同的站点。否则,它们将被视为同一站点。
涉及SameSite cookie时,“站点”的相关概念是eTLD + 1(有效的顶级域+ 1标签)。有效的顶级域名是.com或.co.uk或.github.io之类的东西。所有eTLD都列在公共后缀列表中。
eTLD + 1是有效的顶级域,其左侧紧跟着1标签。 eTLD + 1也称为“可注册域”。直觉是,两个不同的eTLD + 1由不同的实体控制,并且作为相同eTLD + 1的子域的所有内容都由同一实体控制。例如,mysite.github.io是与yoursite.github.io不同的eTLD + 1,因为我无法修改您的网站,也无法修改我的网站。另一方面,同一家公司拥有subdomain1.domain.com和subdomain2.domain.com并修改这两个站点。
如果两个域名的eTLD + 1相同,则出于SameSite Cookie的目的,它们被视为同一站点。