mip*_*phe 8 security cookies csrf
当我们创建一个 cookie 时,我们可以通过设置域属性来指定它的使用位置。
Set-Cookie: Foo=bar; Path=/; Secure; Domain=baz.qux.com;
Run Code Online (Sandbox Code Playgroud)
上面的 cookie 将仅与对域的请求一起使用baz.qux.com
。
Set-Cookie: Foo=bar; Path=/; Secure; SameSite=strict;
Run Code Online (Sandbox Code Playgroud)
上面的 cookie 省略了domain
属性,这意味着将使用设置cookie 的域(不包括子域,IE 例外)。它还具有属性SameSite=strict
,这意味着:
SameSite cookie 允许服务器要求 cookie 不应与跨站点(站点由可注册域定义)请求一起发送,这提供了一些针对跨站点请求伪造攻击 (CSRF) 的保护。
来自MDN
如果这两个 cookie 都设置在域上,那么这两个 cookie 之间的行为有何不同baz.qux.com
?
该SameSite=strict
属性如何防止具有指定域的其他 cookie没有的CSRF?
小智 17
该Domain
属性限制了 cookie 将发送到的主机。该SameSite
属性限制了发送 cookie 的来源。
所以第一个cookie:
Set-Cookie: Foo=bar; Path=/; Secure; Domain=baz.qux.com;
Run Code Online (Sandbox Code Playgroud)
可以发送到baz.qux.com
或其任何子域,无论请求来源如何(即是否从托管于baz.qux.com
或 的网页发送foo.example.com
)
第二个饼干:
Set-Cookie: Foo=bar; Path=/; Secure; SameSite=strict;
Run Code Online (Sandbox Code Playgroud)
只能发送到baz.qux.com
(因为没有指定域,并且忽略 IE 异常,)并且仅当请求来自qux.com
站点时(即它不会被发送用于跨站点请求。)
这有助于通过防止随机网站 ( hacker.example.com
) 向baz.qux.com
包含会话 cookie的第三方 ( )执行经过身份验证的请求来防止 CSRF 。
归档时间: |
|
查看次数: |
2785 次 |
最近记录: |