X-Frame-Options

X-Frame-Optionsとは

X-Frame-Optionsは、ページを iframe などの枠の中に表示してよいかを、サーバーがブラウザに伝えるHTTPヘッダーです。他サイトに自分のページを埋め込まれ、操作を乗っ取られるクリックジャッキングを防ぐために使います。

X-Frame-Optionsが必要な理由

設定がないと、攻撃者は自分のページの上に、あなたのサイトのページを透明にして重ねられます。利用者は「当選を受け取る」のようなボタンを押したつもりで、実際にはログイン済みのあなたのサイトの「退会」や「設定変更」のボタンを押してしまいます。

サーバーから見ると、操作は本人のログイン状態で行われるため、不正な操作と区別できません。

X-Frame-Optionsの仕組み

値動き
DENYどのサイトの枠の中でも表示しない
SAMEORIGIN同じオリジン(スキーム、ホスト、ポートが同じ)のページの枠の中だけで表示する
ALLOW-FROM廃止されており、現在のブラウザは無視する

仕様はRFC 7034です。現在は、CSPの frame-ancestors が後継として位置づけられ、特定のサイトだけに埋め込みを許可する指定もできます。両方が指定された場合、対応するブラウザでは frame-ancestors が優先されます。

X-Frame-Optionsの確認方法

開発者ツールの「ネットワーク」タブで、HTML文書のレスポンスヘッダーを見ます。コマンドでは次のとおりです。

curl -s -D - -o /dev/null https://example.com/ | grep -i '^x-frame-options'

実際に埋め込めないことを確かめるには、自分のパソコンに次のHTMLファイルを作り、ブラウザで開きます。ページが表示されず、コンソールにエラーが出れば、効いています。

<iframe src="https://example.com/" width="600" height="400"></iframe>

X-Frame-Optionsの設定例

自サイトのページ同士で枠を使う場合に備え、通常は SAMEORIGIN にします。他サイトに埋め込む用途がなければ DENY でも構いません。

Apache(.htaccess)の例です。

Header always set X-Frame-Options "SAMEORIGIN"

nginxの例です。

add_header X-Frame-Options "SAMEORIGIN" always;

WordPress(子テーマのfunctions.php)の例です。管理画面とログインページには、WordPress本体が同じ値を付けています。公開ページには自分で付けます。

add_action('template_redirect', 'send_frame_options_header');

よくある間違いと注意点

  • <meta http-equiv="X-Frame-Options"> のように、HTMLのmetaタグで指定しても効きません。HTTPヘッダーで返します。
  • アプリケーションとWebサーバーの両方で付けると、同じヘッダーが2本になり、ブラウザが無効または拒否として扱うことがあります。1か所に絞ります。
  • 予約フォームなどを他サイトのiframeに埋め込ませている場合、DENY や SAMEORIGIN で表示できなくなります。frame-ancestors で許可するサイトを指定します。
  • JSONを返すAPIのように、画面として表示されない応答には、効果がありません。

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

Webサイト セキュリティチェッカーは、X-Frame-Optionsと、CSPの frame-ancestors のどちらも無い状態を診断します。どちらか一方があれば、埋め込みへの備えがあるものとして扱います。

関連用語

関連する用語

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

サイトのURLを入力するだけで、X-Frame-Options などの設定状況を診断できます。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対策