我知道关于Cookie的行为已从chrome 80更改了。
https://blog.chromium.org/2019/10/developers-get-ready-for-new.html
此博客说:“当存在SameSite = None属性时,必须使用附加的Secure属性,以便只能通过HTTPS连接访问跨站点cookie。” 这是否意味着Chrome将拒绝SameSite = None和Secure = False的Cookie?我们不能设置这样的Cookie吗?
我看不懂。
但是,在此博客中编写的测试方式还表明, 描述中说“它将被拒绝”。
没有SameSite的Cookie必须安全
如果启用,则不受SameSite限制的cookie也必须是安全的。 如果设置了没有SameSite限制的cookie,而没有设置Secure 属性,它将被拒绝。该标志仅在以下情况下有效 “默认情况下,SameSite Cookie”也已启用。 – Mac,Windows,Linux, Chrome操作系统,Android
这是正确的行为吗?
答案 0 :(得分:0)
正确。如果您设置SameSite=None
,则必须始终为Secure
。如果您未设置Secure
,则cookie将被拒绝。
Chrome提供了两个用于早期测试的标志:
chrome://flags/#same-site-by-default-cookies
-此标志将不具有SameSite
属性的cookie视为具有SameSite=Lax
的cookie。chrome://flags/#cookies-without-same-site-must-be-secure
-此标志将导致带有SameSite=None
但缺少Secure
的cookie被拒绝。从Chrome实施的角度来看,这是两个单独的更改,但开发人员应将其视为一项更改。查看现有的Cookie,并在可能的情况下设置适当的SameSite
和Secure
属性。