2023-05-12 Cookie SameSite属性
SameSite属性の3つの値
Strict
ブラウザーが同一サイトのリクエストに対してのみクッキーを送信することを意味します。つまり、クッキーを設定したのと同じサイトから発信されるリクエストのことです。 リクエストが異なるドメインやスキームから発信された場合(同じドメインであっても)、 SameSite=Strict 属性のクッキーは送信されません。
Lax
画像やフレームを読み込むリクエストのようなクロスサイトリクエストではクッキーを送信しませんが、ユーザーが外部サイトから元のサイトに移動するとき(例えば、リンクをたどるとき)には送信されることを意味します。 これは SameSite 属性が指定されていない場合の既定の動作です。
None
ブラウザーがクロスサイトと同一サイトの両方のリクエストでクッキーを送信することを意味します。 この値を設定する際には、 Secure 属性も設定する必要があります。 SameSite=None; Secure のようにします。
現状だと SameSite=Lax
がデフォルトの挙動となっている(Chrome だと 80以降)。
Google Chrome 80以降、SameSite値が設定されていないCookieはSameSite=Laxとして扱われるようになります。
ref. Google Chrome 80でCookieのSameSiteオプションの扱いが変更される件に対するKARTEの対応や影響について
現在訪問中のサイト (ブラウザーのアドレス バーに表示されているサイト) のドメインに一致する Cookie は、ファーストパーティ Cookie と呼ばれ、同様に現在訪問中のサイト以外のドメインからの Cookie は サードパーティ Cookie と呼ばれます。
SameSite 属性を使用して Cookie の使用条件を明示する
RFC6265bis で定義されている SameSite 属性の導入により、Cookie の付与をファーストパーティまたは同一サイトのコンテキストに限定するかどうかを宣言できるようになりました。