高级前端http【Q554】SameSite Cookie 有哪些值,是如何预防 CSRF 攻击的

SameSite Cookie 有哪些值,是如何预防 CSRF 攻击的

Issue 欢迎在 Gtihub Issue 中回答此问题: Issue 569

Author 回答者: shfshanyue

见文档 SameSite Cookie - MDN 见文章 Cookie 的 SameSite 属性

  • None: 任何情况下都会向第三方网站请求发送 Cookie
  • Lax: 只有导航到第三方网站的 Get 链接会发送 Cookie,跨域的图片、iframe、form表单都不会发送 Cookie
  • Strict: 任何情况下都不会向第三方网站请求发送Cookie

目前,主流浏览器 Same-Site 的默认值为 Lax,而在以前是 None,将会预防大部分 CSRF 攻击,如果需要手动指定 Same-SiteNone,需要指定 Cookie 属性 Secure,即在 https 下发送