SameSite cookie
クロスサイトのリクエストでCookieを送るかどうかを制御するCookie属性。Strictは一切送らず、Laxはトップレベルのナビゲーション時のみ、Noneは常に送る(Secureが必須)。CSRFに対する主要な防御策である。
2020年にChrome(バージョン80)がデフォルトをLaxに切り替えた。SameSite=Noneを明示していなかったサードパーティのiframeやトラッキング用Cookieの多くが、これで動かなくなった。Strictは典型的な使い方を壊す。たとえばSlackから社内アプリのリンクを開くと、Cookieが送られず再ログインになる。現実的な既定値はLaxだ。念のためCSRFトークンも併用して二重に守るとよい(SameSiteを無視するブラウザもある)。攻撃サイトが fetch('https://bank.com', {credentials:'include'}) を実行しても、既定のLaxならCookieは送られない。