- CookieのSamesite属性の概要情報・振る舞いについて、個人用にメモする。
SameSite属性とは
- CSRF(ユーザーの意図しない処理や不正アクセスなどを行う攻撃)対策を行うためのCookie属性。
-
None
、Lax
、Strict
の3つを設定することが可能。
Cookieの種類
- 1st Party Cookie : 現在アクセス中のアプリ (ブラウザーのアドレスバーに表示されている) のドメインに一致する Cookie
- 3rd Party Cookie : 現在アクセス中のアプリ以外の別ドメインからの Cookie
各設定値
Strict
- 別ドメイン(3rd Party Context)アプリへの全てのリクエストでCookieを送ることができない。
- 最も制限が厳しい。
- POSTだけでなく、GETリクエストも対象。
- ログイン中のアプリに対して、別アプリから遷移し直すと、未ログイン扱いとなる。
Lax
- 別ドメイン(3rd Party Context)アプリへのリクエストでは、GETリクエストの場合のみCookieを送ることができる。
- Strictの次に厳しい制限。
- POSTや画像読み込み、XHR、iframeでのリクエストではCookieを送ることができない。
None
- ドメインの異なるアプリ間でも制限なくCookieを送ることができる。
- 利用の際にはSecure属性の付与が必要。