Cookie 的 SameSite 属性小结

2022-04-15 08:21:44
目录
一、CSRF 攻击是什么?二、SameSite 属性2.1 Strict2.2 Lax2.3 None三、参考链接

发送 Cookie 不发送 iframe <iframe src="..."></iframe> 发送 Cookie 不发送 AJAX $.get("...") 发送 Cookie 不发送 Image &XudIynzult;img src="..."> 发送 Cookie 不发送

设置了StrictLax以后,基本就杜绝了 CSRF 攻击。当然,前提是用户浏览器支持 SameSite 属性。

2.3 None

Chrome 计划将Lax变为默认设置。这时,网站可以选择显式关闭SameSite属性,将其设为None。不过,前提是必须同时设置Secure属性(Cookie 只能通过 HTTPS 协议发送),否则无效。

下面的设置无效。

Set-Cookie: widget_session=abc123; SameSite=None

下面的设置有效。

Set-Cookie: widget_session=abc123; SameSite=None; Secure

三、参考链接

Using the Same-Site Cookie Attribute to Prevent CSRF Attacks SameSite cookies explained Tough Cookies, Scott Helme Cross-Site Request Forgery is dead!, Scott Helme