【发布时间】:2019-11-27 04:02:35
【问题描述】:
当我们创建一个 cookie 时,我们可以通过设置 domain 属性来指定它的使用位置。
Set-Cookie: Foo=bar; Path=/; Secure; Domain=baz.qux.com;
上面的 cookie 将仅与域 baz.qux.com 的请求一起使用。
Set-Cookie: Foo=bar; Path=/; Secure; SameSite=strict;
上面的 cookie 省略了domain 属性,这意味着将使用 set cookie 所在的域(不包括子域,IE 除外)。它还有SameSite=strict属性,意思是:
SameSite cookie 让服务器要求 cookie 不应与跨站点(站点由可注册域定义)请求一起发送,这提供了一些针对跨站点请求伪造攻击 (CSRF) 的保护。
来自MDN
如果这两个 cookie 都设置在域 baz.qux.com 上,那么这两个 cookie 的行为有何不同?
SameSite=strict 属性如何防止具有指定域的其他 cookie 没有的 CSRF?
【问题讨论】: