メインコンテンツへ
短.be

X-Frame-Options

Web ページの iframe への埋め込みを制御する HTTP レスポンスヘッダー。クリックジャッキング攻撃の防止に使用される。

2026 年 10 月 16 日 / 約 1 分で読めます

セキュリティ

X-Frame-Options とは、Web ページの iframe への埋め込みを制御する HTTP レスポンスヘッダーです。クリックジャッキング攻撃の防止に使用され、ページが意図しないサイトの iframe 内に表示されることを防ぎます。

現行で有効な値は DENY (すべての iframe 埋め込みを禁止) と SAMEORIGIN (同一オリジンからの埋め込みのみ許可) の 2 つです。かつて存在した ALLOW-FROM uri (指定したオリジンからの埋め込みのみ許可) は廃止済みで、MDN のリファレンス (2026 年 7 月更新版) によれば現行ブラウザーはこのディレクティブを含むヘッダー自体を無視します。つまり ALLOW-FROM を指定すると保護そのものが失われるため、特定のオリジンだけを許可したい場合は CSP の frame-ancestors を使います。また、このヘッダーは HTTP レスポンスヘッダーとしてのみ有効で、meta タグの http-equiv で指定しても効きません。

X-Frame-Options と CSP の frame-ancestors ディレクティブは同じ目的を持ちますが、CSP の方が新しい仕様であり、複数のオリジンを指定できる柔軟性があります。両方を設定した場合、CSP の仕様 (Level 2) では frame-ancestors を適用し X-Frame-Options は無視するべきだとしています。新規実装では CSP の frame-ancestors を基本とし、frame-ancestors を解釈しない古い環境からのアクセスも想定するなら X-Frame-Options (DENY か SAMEORIGIN) を併設します。両方を置く場合は互いに矛盾しない値にしておくと、どちらか一方しか解釈しない環境でも保護が途切れません。

短縮 URL サービスでは、管理画面やプレビューページに X-Frame-Options: DENY を設定し、iframe への埋め込みを禁止することで、クリックジャッキング攻撃を防止します。リダイレクト用のエンドポイントは iframe 内で使用されるケースがほぼないため、同様に DENY を設定して問題ありません。

この記事は役に立ちましたか?

関連用語

クリックジャッキング

透明な iframe を重ねて、ユーザーに意図しないクリックを誘導する攻撃手法。 X-Frame-Options ヘッダーで防止できる。

CSP

Content Security Policy の略。 Web ページで読み込み可能なリソースのソースを制限し、XSS 攻撃を防止するセキュリティ機構。

HTTPS

HTTP に SSL/TLS による暗号化を追加した通信プロトコル。 Web サイトのセキュリティと信頼性の基盤。

HTTP ヘッダー

HTTP リクエストやレスポンスに付随するメタ情報。キャッシュ制御、認証、リダイレクト先の指定などに使われる。

Referrer-Policy

HTTP レスポンスヘッダーでリファラー情報の送信範囲を制御するセキュリティ機構。プライバシー保護に寄与する。

Content Security Policy

Web ページが読み込み可能なリソースの出所を制限する HTTP ヘッダー。XSS 攻撃やデータインジェクションの被害を軽減する防御層。

関連記事

短縮 URL のセキュリティガイド - 安全に利用するためのベストプラクティス

OWASP のリダイレクト脆弱性ガイドラインに基づく短縮 URL のセキュリティ対策を解説。フィッシング攻撃パターンや CSP ヘッダーとの関係も網羅します。

URL 短縮サービスをセルフホスティングする方法 - 自前運用のメリットと構築手順

URL 短縮サービスを自社サーバーやクラウド環境で構築および運用する方法を解説。オープンソースツールの比較やサーバーレス構成での実装手順を紹介します。

クリック詐欺 (クリックフラウド) の仕組みと対策 - 短縮 URL を守るセキュリティガイド

クリック詐欺の手口と短縮 URL への影響を解説。ボット検知、レートリミット、CAPTCHA など実践的な防御策と、不正クリックの検出方法を紹介します。

よくある質問

X-Frame-Options の設定値にはどのようなものがありますか?
現行で有効なのは DENY (すべての iframe 埋め込みを禁止) と SAMEORIGIN (同一オリジンからの埋め込みのみ許可) の 2 つです。 ALLOW-FROM は廃止済みで、現行ブラウザーではこの値を含むヘッダー自体が無視されるため使いません。
X-Frame-Options と CSP の frame-ancestors の違いは?
frame-ancestors は X-Frame-Options の後継で、より柔軟な制御が可能です。複数のオリジンを指定できる点が優れています。両方設定した場合は CSP が優先されます。

知識を、実際のリンクで。

無料で URL を短縮する