コンテンツにスキップ

Index

安全でないHTTPヘッダー設定: X-Frame-Options

説明

X-Frame-Options HTTPヘッダーフィールドは、送信されたリソースをブラウザが<frame>または<iframe>内にレンダリングすべきかどうかを指定するポリシーを示します。サーバーはHTTP応答のヘッダーでこのポリシーを宣言することで、コンテンツが他のページやフレームに埋め込まれることを防ぎ、クリックジャッキング攻撃を防止できます。

推奨事項

  • HTTP応答ヘッダーで適切な X-Frame-Options を送信し、他のドメインからのフレーム化を許可しないようブラウザに指示します。

    • X-Frame-Options: DENY: <frame><iframe>での読み込みを完全に拒否します。
    • X-Frame-Options: SAMEORIGIN: 読み込もうとしているサイトが同一オリジン(Same-Origin)である場合のみ許可します。
    • X-Frame-Options: ALLOW-FROM URL: 特定のURLにのみ<iframe>での読み込みを許可します。ただし、すべてのブラウザがこれをサポートしているわけではない点に注意してください。
  • 現在のフレームが最上位のウィンドウ(Top-Level Window)であることを確認するため、UI内に防御コードを実装します。

if (window !== window.top) {
    // Code is being executed within a frame
    // You may choose to handle this situation appropriately,
    // such as by redirecting the user to another page
    // or displaying a warning message.
    window.top.location.href = "about:blank"; 
}

リンク

標準

  • OWASP_ASVS_L1:
    • V14_4_7
  • OWASP_ASVS_L2:
    • V14_4_7
  • OWASP_ASVS_L3:
    • V14_4_7
  • PCI_STANDARDS:
    • REQ_2_2
    • REQ_6_2
    • REQ_6_3
    • REQ_6_4
    • REQ_11_3
  • HIPAA_CONTROLS:
    • SECURITY212
    • SECURITY213