①SameSite 是 HTTP 响应头 Set-Cookie 的属性之一。它允许声明该 Cookie 是否仅限于第一方或者同一站点上下文,用来防止 CSRF 攻击和用户追踪;
②SameSite 接受三个值:
1、Strict:最为严格,完全禁止第三方 Cookie,跨站点时,任何情况下都不会发送 Cookie。换言之,只有当前网页的 URL 与请求目标一致,才会带上 Cookie,这个规则过于严格,可能造成非常不好的用户体验;
2、Lax:规则稍稍放宽,大多数情况也是不发送第三方 Cookie,但是导航到目标网址的 Get 请求除外,这是浏览器中的默认值;
3、None:Cookie 将在所有上下文中发送,即允许跨站发送,需要注意的是,浏览器做了仅针对 HTTPS 域名才支持 SameSite=None 配置。所以如果要设置 SameSite=None 的话,则必须还要携带 Secure 属性才行;
③设置了 Strict 或 Lax 以后,基本就杜绝了 CSRF 攻击;
(参考:developer.mozilla.org/zh-CN/docs/…