セキュリティ・認証 / Web/認証
HttpOnlyとは
HttpOnly cookie attribute。JavaScriptからCookieを読みにくくする属性です。
用語集内のカードを見るセキュリティ・認証 / Web/認証
HttpOnly cookie attribute。JavaScriptからCookieを読みにくくする属性です。
用語集内のカードを見るHttpOnlyを、定義だけで終わらせず、現場で出てくる場面、確認材料、見落としやすい点、関連語とのつながりまで順に確認できます。
実務メモ
HttpOnlyは認証Cookie、セッションCookie、管理画面、BFF構成で効きます。XSS影響軽減、ログイン方式変更、JavaScriptがCookieを読めない不具合で確認します。
証跡にはCookie名、Set-Cookieヘッダー、HttpOnly有無、JS参照要件、document.cookie確認結果、ログイン/API呼び出し結果、CSRF対策を残します。
HttpOnlyはCSRF対策ではありません。JavaScriptから読めなくしてもブラウザは条件に合えばCookieを送ります。既存フロントがCookie値を読む実装だと画面やAPI呼び出しが壊れます。
HttpOnlyは、JavaScriptからCookieを読みにくくするCookie属性です。XSSが起きたときに、document.cookie経由でセッションIDを盗まれるリスクを下げます。
実務では、認証Cookie、セッションCookie、フロントエンドが読む必要のあるCookie、XSS影響、CSRF対策との違い、Set-Cookieでの付与状態を確認します。
証跡には、対象Cookie名、Set-Cookieヘッダー、HttpOnly有無、JavaScriptからの参照要件、認証フロー、ブラウザ保存結果、確認日時を残します。
HttpOnlyが付いたCookieは、通常JavaScriptのdocument.cookieから読めません。XSSが起きても、セッションIDをそのまま抜かれるリスクを減らせます。
ただし、XSSがある状態では、利用者のブラウザから不正操作を実行される可能性は残ります。HttpOnlyはXSS対策そのものではなく、被害を限定する属性です。
HttpOnlyはJavaScriptからの読み取りを抑えますが、ブラウザが条件に合うリクエストへCookieを送る動作は止めません。CSRF対策にはSameSiteやCSRFトークンが必要です。
HttpOnlyを付けたからCSRFが防げる、という説明は誤りです。重要操作では認可、再認証、CSRFトークン、Origin確認なども確認します。
フロントエンドがCookie値を読んで画面表示やAPIヘッダーを組み立てている場合、HttpOnlyを付けると動かなくなります。認証情報をJSで読む設計自体を見直す機会にもなります。
アクセストークンをCookieに入れるのか、メモリに置くのか、BFFで扱うのかにより適切な属性が変わります。既存実装の前提を確認します。
HttpOnly対応では、Cookie名、用途、付与理由、JS参照要件、ログイン影響、CSRF対策との関係を残します。セキュリティ強化に見えても、実装依存で画面が壊れることがあります。
引き継ぎでは、アプリ担当、認証基盤担当、セキュリティ担当、関連語としてCookie、Set-Cookie、SameSite、XSS、CSRFを残すと確認しやすくなります。
同じ主要カテゴリの用語をまとめて確認できます。現在の用語を起点に、前後の用語へ進むと文脈を保ったまま読み進められます。