Skip to content

MS_Cookie

nishi_74322014 edited this page Aug 3, 2026 · 1 revision

Cookie

概要

3rd Party Cookie 問題で話題の Cookie の項を切り出してみた。

詳細

HTTPヘッダ

Cookie

Set-Cookie ヘッダでサーバから送信されて保存している HTTP Cookie を、
リクエスト時にサーバへ送り返すヘッダ。

Set-Cookie

サーバからユーザーエージェントにクッキーを送信する。

属性 意味
Expires=<date> クッキーの有効期限
Max-Age=<number> クッキーの期限までの秒数
Domain=<domain-value> クッキーの送信先をこれらのホストに指定
Path=<path-value> クッキーの送信先をこれらの URL パスに指定
Secure HTTPS 使用時のみサーバに送信
HttpOnly JavaScript からアクセスできず、XSS 攻撃を軽減
SameSite クロスサイトのリクエストで Cookie の「送る/送らない」を制御

SameSite

クロスサイトのリクエストで Cookie の「送る/送らない」を制御する。

  • SameSite=None
    クロスサイトでも Cookie を送る(従来の挙動)。

  • SameSite=Lax
    Top Level Navigation(= アドレスバーの URL 変更が伴う遷移)
    以外の(≒ POST、SRC 属性、XHR、FRAME での)
    クロスサイトのリクエスト(≒ 攻撃に使われそうなリクエスト)
    で一切 Cookie を送らなくなる。

  • SameSite=Strict
    全てのクロスサイトのリクエストで一切 Cookie を送らなくなる。

移行メモ(正誤・最新化): 元 Wiki では 「SameSite=Noneブラウザの既定値」と記載されていたが、 これは 2020 年以前の挙動である。

現在(Chrome 80 以降、Firefox、Edge 等)の既定値は SameSite=Lax であり、 SameSite=None を指定する場合は Secure 属性が必須である (SameSite=None 単独の Cookie はブラウザに拒否される)。

Set-Cookie: sid=xxxx; SameSite=None; Secure; HttpOnly; Path=/

なお Lax の場合でも、Top Level Navigation の GET では Cookie が送られる (POST では送られない)点が Strict との違いである。

補足: Cookie 名にプレフィックスを付けることで、 ブラウザ側に属性を強制させられる。

プレフィックス 強制される条件
__Secure- Secure 属性があり、HTTPS から設定されたこと
__Host- 上記に加え、Path=/ かつ Domain 属性がないこと

__Host- はサブドメインからの Cookie 上書き(session fixation の一種)を防げる。

3rd Party Cookie問題

「3rd Party Cookie」とは、閲覧中のサイト(1st Party)とは別のドメインが
発行する Cookie で、広告やトラッキングに利用されてきた。
プライバシー保護の観点から、各ブラウザが制限を進めている。

対応

  • Chrome は、SameSite 属性
  • Safari は、Intelligent Tracking Prevention(ITP)(MS_IntelligentTrackingPrevention.md

補足(最新化): Safari(ITP)と Firefox(Total Cookie Protection)は 3rd Party Cookie を既定でブロック済みである。 Chrome は当初 2022 年に廃止予定としていたが延期を重ね、 2024 年に「一律廃止はせず、ユーザーが選択する方式」へ方針転換した。

いずれにせよ、3rd Party Cookie に依存した ID フェデレーション(OP のセッション確認、フロントチャネル ログアウト) は 影響を受けるため、 バックチャネル ログアウトや FedCM API 等への移行が進んでいる。 詳細はクレームベース認証も参照。

参考


Tags: IT国際標準, 通信技術

NetDevInfraWiki

マイクロソフト系技術情報 Wiki
Open 棟梁 Wiki

(未着手)

開発基盤部会 Wiki

移行管理: DONETODO

Clone this wiki locally