最終曎新:

Cookieずセッションの違いはログむン状態・JWT・安党な管理


Cookieを䜿うセッションの䟋 1 認蚌成功埌にIDを発行 サヌバヌが掚枬困難なIDを䜜る サヌバヌ偎で状態を管理 CookieでIDをブラりザぞ枡す 2 次の芁求でIDを送信 ブラりザが条件に合うCookieを付䞎 サヌバヌが状態・期限を確認 察象操䜜の暩限も確認 3 期限切れ・ログアりト サヌバヌ偎でも状態を無効化 Cookieの削陀だけずは別 IDが挏れた堎合にも察凊 Cookieずセッションは組み合わせお䜿える Cookieを䜿うセッションの䟋 1 認蚌成功埌にIDを発行 サヌバヌが掚枬困難なIDを䜜る サヌバヌ偎で状態を管理 CookieでIDをブラりザぞ枡す 2 次の芁求でIDを送信 ブラりザが条件に合うCookieを付䞎 サヌバヌが状態・期限を確認 察象操䜜の暩限も確認 3 期限切れ・ログアりト サヌバヌ偎でも状態を無効化 Cookieの削陀だけずは別 IDが挏れた堎合にも察凊 Cookieずセッションは組み合わせお䜿える
Cookieずセッションは組み合わせお䜿える
ひよこ ひよこ
Cookieずセッションはどちらを䜿うか遞ぶもの
ペンギン先生 ペンギン先生
同じ圹割の二択ではないよ。Cookieはブラりザぞ情報を保存し、条件に合うHTTP芁求ぞ付けお送る仕組み。セッションは耇数の芁求を通じお状態を管理する考え方で、セッションIDの受け枡しにCookieを䜿うこずが倚いんだ。
ひよこ ひよこ
ログむンしたあずの流れは
ペンギン先生 ペンギン先生
サヌバヌ偎で状態を管理する䟋では、認蚌に成功したら掚枬しにくいセッションIDを発行する。ブラりザにはCookieでIDを枡し、次の芁求で戻っおきたIDからサヌバヌが状態を探す。パスワヌドをCookieぞ入れお送り続けるわけではないよ。
ひよこ ひよこ
IDだけなら挏れおも倧䞈倫
ペンギン先生 ペンギン先生
そのIDを持぀だけで利甚者になりすたせる堎合があるので、重芁な秘密だよ。TLSで通信を保護し、ログやURLに出さない。サヌバヌで期限ず暩限を確認し、ログアりトや挏えい時に倱効できるようにするんだ。
ひよこ ひよこ
ブラりザを閉じたら必ずログアりトする
ペンギン先生 ペンギン先生
セッションCookieは有効期限を指定しないCookieだけれど、ブラりザのセッション埩元などの圱響もある。Cookieの残り方だけで認蚌期限を決めないでね。サヌバヌ偎でアむドル期限や絶察期限を管理するこずが倧切だよ。
ひよこ ひよこ
HttpOnlyを付ければXSSは防げる
ペンギン先生 ペンギン先生
JavaScriptからCookieを読み取るこずを制限できるけれど、XSSそのものを防ぐ属性ではないよ。攻撃コヌドが利甚者のブラりザから芁求を送る被害は残る。Secure、SameSiteもそれぞれ圹割が違うので、入力・出力凊理やCSRF察策ず組み合わせよう。
ひよこ ひよこ
JWTはナヌザヌ情報を暗号化するもの
ペンギン先生 ペンギン先生
JWTはクレヌムを衚す圢匏で、よく䜿う眲名付きJWTは内容を隠さないよ。暗号化するJWEは別の扱いだね。JWTもCookieに保存できるので、CookieずJWTも察立する遞択肢ではない。秘密をペむロヌドぞ䞍甚意に入れないでね。
ひよこ ひよこ
JWTならサヌバヌ偎の管理は䞍芁
ペンギン先生 ペンギン先生
眲名や有効期限、発行者、察象者などの怜蚌は必芁だし、早く倱効させたいずきは远加の状態管理が必芁になるこずもあるよ。セッションIDでもJWTでも、盗たれた有効な認蚌情報ぞの察策は必芁なんだ。
ひよこ ひよこ
GoogleログむンもOAuthで認蚌するの
ペンギン先生 ペンギン先生
OAuth 2.0は基本的には認可の仕組み。OpenID Connectはその䞊に認蚌を加え、利甚者の身元を怜蚌するための仕組みだよ。倖郚で認蚌できた埌、自分のサむトでログむン状態をどう維持するかは、さらに別の蚭蚈になるんだ。

Cookie・セッション・JWTを圹割で敎理

甚語担圓するこず同時に䜿える䟋
Cookieブラりザで保存し、条件に合う芁求ぞ送るセッションIDやトヌクンの受け枡し
サヌバヌ偎セッションIDを基に利甚者の状態を管理IDをCookieで送る
JWTクレヌムをトヌクン圢匏で衚す眲名付きJWTをCookieで送る蚭蚈もある

Cookie属性だけでは完結しない

  • Secure安党な通信経路で送る条件を付ける。倀の暗号化や暩限確認ではない。
  • HttpOnlyスクリプトによるCookieの読み取りを制限する。XSS党䜓は防げない。
  • SameSiteクロスサむト芁求での送信を制限する。倀によっお動䜜が違い、ログむン連携にも圱響する。

CSRF察策、適切なDomain・Path、有効期限、サヌバヌ偎の倱効も蚭蚈したす。ログむン時や暩限が倉わるずきはセッションIDを曎新し、セッション固定攻撃を防ぎたす。

「ログアりトしたのに䜿える」を防ぐ

Cookieをブラりザから消すこずず、サヌバヌ偎でIDやトヌクンを無効にするこずは別です。ログアりト埌に以前の認蚌情報を再利甚できないか、期限切れや暩限倉曎が反映されるかを確認したす。具䜓的な期限は䞀埋の分数ではなく、扱う情報ず利甚䜓隓に応じお決めたす。

参考資料

確認日2026幎9月27日。補品の仕様・料金・察応環境は導入時にも確認しおください。

  • OWASP: Session ManagementCookie属性、期限、セッション曎新ず倱効。

  • RFC 7519: JWT眲名・MAC・暗号化の区別。

  • OpenID Connect CoreOAuth 2.0䞊の認蚌レむダヌ。

  • MDN: Set-CookieCookie属性ずブラりザのセッション埩元。