CookieのSameSite属性について

⏰ 投稿日時 2025-05-15

カテゴリー

タグ

CookieのSameSite属性について

Web開発においてセキュリティやプライバシー保護の観点から重要な「CookieのSameSite属性」について、初心者でもわかるように解説します。

SameSite属性とは?

SameSite は、ブラウザが クロスサイトリクエスト(他のサイトから送られてくるリクエスト)に対して Cookie を送信するかどうかを制御するための属性です。

SameSiteの3つの設定値

Strict

  • 同一サイトのリクエストにのみ Cookie を送信

  • 外部リンクなどからアクセスされた場合、Cookieは送られません

  • ✅ 利点

    • セキュリティが最も高い
  • ❌ 欠点

    • 外部からのアクセスでログインセッションが失われるなど、使い勝手が悪い場合あり

2. Lax

  • GETリクエスト であれば、クロスサイトでも Cookie を送信

  • POST などの状態変更を伴うリクエストでは送られない

  • ✅ 利点

    • ある程度の利便性とセキュリティのバランスが取れる
  • ❌ 欠点

    • フォーム送信後のリダイレクトなどではCookieが送られない場合がある

3. None

  • すべてのクロスサイトリクエストに対してCookieを送信

  • SameSite=None を使う場合は Secure属性も必須

  • ✅ 利点

  • iframe や外部サービスとの連携が可能

  • ❌ 欠点

  • セキュリティリスク(CSRFなど)に注意が必要

まとめ

以下の表は SameSite 属性の設定例です。

設定値 クロスサイトGET クロスサイトPOST Secure必須 用途例
Strict 不要 高セキュリティなアプリ
Lax 不要 一般的なWebサイト
None 外部連携サービスなど

個人メモ

  • 外部サービスとの連携がない場合は Lax を基本にするのが無難
  • None を使う場合は必ず HTTPS 通信(Secure属性)にする
  • CSRF対策と併用することが重要