HttpOnly

HttpOnlyとは

HttpOnlyは、Cookieに付ける属性のひとつです。この属性が付いたCookieは、ブラウザ上のJavaScript(document.cookie)から読み取れなくなります。HTTPの通信で、サーバーとの間でやり取りされるだけになります。仕様はMDNのSet-Cookieの解説にまとめられています。

HttpOnlyが必要な理由

ログイン状態を保つセッションのCookieが盗まれると、攻撃者はその利用者になりすませます。サイトにXSSの脆弱性があると、差し込まれたスクリプトが document.cookie を読み、攻撃者のサーバーへ送信してしまうおそれがあります。HttpOnlyを付けておくと、このCookieはスクリプトから読めないため、盗難の被害を抑えられます。

Cookieの属性の違い

属性役割
HttpOnlyJavaScriptからの読み取りを禁じる
SecureHTTPSの通信でだけ送る。暗号化されていない通信への流出を防ぐ
SameSite他のサイトからの要求に、Cookieを付けるかを決める(Strict、Lax、None)。CSRFの対策になる

セッションを保つCookieには、3つとも付けるのが基本です。

設定例

応答ヘッダーの例です。

Set-Cookie: sessionid=abc123; Path=/; Secure; HttpOnly; SameSite=Lax

PHPのセッションは、php.ini で指定できます。

session.cookie_httponly = 1
session.cookie_secure = 1
session.cookie_samesite = Lax

PHPで自分でCookieを発行する場合は、属性を配列で渡します。

setcookie('name', 'value', [
    'expires' => time() + 3600,
    'path' => '/',
    'secure' => true,
    'httponly' => true,
    'samesite' => 'Lax',
]);

WordPressのログインに使われる認証Cookieは、標準でHttpOnlyが付いています。プラグインやテーマが独自に発行するCookieに、属性が付いているかは、別に確認が必要です。

確認方法

  • ブラウザの開発者ツール(F12)で、「アプリケーション」(Application)タブの「Cookie」を開き、各Cookieの「HttpOnly」の列にチェックがあるかを見ます。
  • コマンドでは、応答ヘッダーの Set-Cookie を確認します。curl -s -D - -o /dev/null https://example.com/ | grep -i '^set-cookie'

よくある誤解

  • HttpOnlyは、XSSの脆弱性を直すものではありません。スクリプトが差し込まれれば、Cookie以外の情報の取得や、利用者としての操作は行われるおそれがあります。XSSの根本の対策は、出力時のエスケープです。
  • JavaScriptで読む必要のあるCookieには、HttpOnlyを付けられません。読み取りが不要なセッションのCookieに付けるのが基本です。

Webサイト セキュリティチェッカーで確認する

Webサイト セキュリティチェッカーは、URLを入力すると、サーバーが発行するCookieのうち、セッションに使われているとみられるものについて、Secure、HttpOnly、SameSiteの属性が付いているかを診断します。

関連用語

関連する用語

サイトの設定を無料で確認する

サイトのURLを入力するだけで、HttpOnly などの設定状況を診断できます。Webサイト セキュリティチェッカー「Security Checker X」は、登録なしで使えます。

デジタルマーケティング事業部 統括マネージャー

略歴:京都大学情報学研究科知能情報学専攻修士課程修了後、日経大手インターネットショッピングモールの開発部でエンジニアとしてシステム開発・運用に従事。同社新規モバイル事業の立ち上げに開発プロジェクトマネージャー、兼プロダクトマネージャーとして参画。その後、外資系大手製薬メーカーのデジタルマーケティング部門でシニアアソシエイトとして従事した後、2020年にエスライン・テクノロジーズのデジタルマーケティング事業部統括マネージャーに就任。カスタマーファーストでデジタルマーケティングの役立つ情報を日々発信中。

【MALINE】総合デジタルマーケティングツール
【特別価格】Digicert VMC
NEWS
  1. 1

    【NEWS】旅行比較サイト『TRAVEL HUB(トラベルハブ)』サービス提供開始のお知らせ

  2. 2

    オフィス移転のお知らせ

  3. 3

    【MALINE】マリン株式会社設立のお知らせ

  4. 4

    無料で使える「Excel版 一斉メール配信ツール」提供開始のお知らせ ~SMTP設定だけで今すぐメール一括送信~

  5. 5

    中小企業向けDXプラットフォーム『Hirameki 7』SEO/MEO支援オプション提供開始。Hirameki 7ご利用者様の集客効果を最大化!

カレンダーから記事を探す
2026年10月
月 火 水 木 金 土 日
 1234
567891011
12131415161718
19202122232425
262728293031  
SEO検索順位チェッカー
Googleマップ/MEO順位チェックツール
【無料】メールアドレス生存確認ツール
【無料】Excel一斉メール送信ツール
メールアドレス漏洩・流出チェックツール
メールドメインブラックリスト判定ツール
DMARC/SPF/DKIM診断ツール
IPアドレス位置・住所特定ツール
自分のIPアドレス確認ツール
驚愕効果のSEO対策