4. Security Considerations (セキュリティに関する考慮事項)
4. Security Considerations (セキュリティに関する考慮事項)
X-Frame-Options の使用は, "クリックジャッキング" (clickjacking) として知られる特定の攻撃形態から保護します。ただし, すべての形態のクリックジャッキングや他の UI 偽装 (UI redressing) 攻撃に対する完全な保護を提供するものではないことに注意することが重要です。
X-Frame-Options HTTP ヘッダーフィールドは, ブラウザが送信されたリソースを <frame> または <iframe> 内にレンダリングすべきかどうかを指定するポリシーを示します。サーバーは, クリックジャッキング攻撃を防ぐために HTTP 応答のヘッダーでこのポリシーを宣言でき, コンテンツが他のサイトに埋め込まれないことを保証します。
ただし, SAMEORIGIN オプションは, フレーム化するページと同じオリジン (origin) を持つ場合にページがフレーム化されることを許可することに注意する必要があります。これは重要です。なぜなら, すべての SAMEORIGIN ポリシーの実装がすべての祖先フレームを検証するわけではないからです。一部の実装は, トップレベルのブラウジングコンテキスト (ウィンドウ) のみをチェックし, 他の実装は, フレーム祖先チェーン全体を検証します。これは, SAMEORIGIN ポリシーが, ブラウザの実装に応じて, サイト運営者が意図したものよりも寛容になる可能性があることを意味します。サイト運営者は, SAMEORIGIN オプションが異なるユーザーエージェント間で異なる解釈をされる可能性があり, 動作の違いにつながる可能性があることに注意する必要があります。トップレベルのブラウジングコンテキストのみをチェックする実装は, ネストされた "フレーム内のフレーム" タイプのクリックジャッキング攻撃に対してより脆弱である可能性があります。
クリックジャッキングに対する唯一の保護手段として X-Frame-Options を使用することは推奨されません。サイト運営者は, X-Frame-Options に加えて, または X-Frame-Options の代わりに, Content Security Policy の frame-ancestors ディレクティブの使用を検討すべきです。
ALLOW-FROM オプション (サポートされている場合) は, 特定のオリジンからのフレーム化を許可することに注意してください。サイト運営者は, 指定されたオリジンからのフレーム化を許可するかどうかを慎重に検討する必要があります。指定されたオリジンが侵害された場合, ユーザーがクリックジャッキング攻撃にさらされる可能性があるためです。
4.1 Privacy Considerations (プライバシーに関する考慮事項)
X-Frame-Options ヘッダーフィールドの使用は, HTTP 自体に固有のプライバシーに関する考慮事項を超える追加のプライバシーに関する考慮事項を導入しません。ヘッダーフィールド値には, 通常, ユーザーまたはユーザーのブラウジング動作に関する情報は含まれません。