Samesite属性とは?
- Cookieに付与できる属性の一つ
- 他の属性としては、Secure属性、Domain属性等がある
- クロスサイトリクエスト時のCookieの扱いを指定する
Samesiteとは?
- リクエスト元と下記が一致していればsame-site(同じサイト)となる
- スキーム
- eTLD + 1
- 詳細は下記参照
指定値
Strict
- 最も制限が厳しい設定
- クロスサイトリクエスト時にCookieを送信しない
Lax
- Strictよりは制限が緩い設定
- 下記を満たすときにCookieを送信する
- トップレベルナビゲーションである
- メソッドが
GET
,HEAD
,OPTIONS
,TRACE
のいずれかである
POST
メソッドやiframe
内でのリクエスト時にはCookieを送信しない
None
- 最も制限が緩い設定
- どんなときでもCookieを送信する
- ただしSecure属性の設定が必要
用語
トップレベルナビゲーション
- アドレスバーに表示されるURLが変わるナビゲーション
- e.g. ブラウザバック、
<a>
タグによるページ遷移、JavaScriptによるリダイレクト - トップレベルナビゲーションではないもの(一例)
<img>
タグの画像読み込み