CSP: frame-ancestors
HTTP の Content-Security-Policy (CSP) である frame-ancestors ディレクティブは <frame>、 <iframe>、 <object> 、 <embed>、 <applet> などを使ってページを埋め込むことのできる親を指定します。
このディレクティブを 'none' にすることは、 X-Frame-Options: deny (これは古いブラウザーも同様に対応しています) を設定するのに似ています。
| CSP バージョン | 2 |
|---|---|
| ディレクティブ種別 | ナビゲーションディレクティブ |
default-src による代替 |
なし。設定しない場合はすべてを許可します。 |
このディレクティブは <meta> 要素では対応していません。 |
|
構文
frame-ancestors ポリシーをこのように一つ以上セットできます。
Content-Security-Policy: frame-ancestors <source>; Content-Security-Policy: frame-ancestors <source> <source>;
ソース
<source> は以下のうちのいずれかです。
frame-ancestors ディレクティブの構文は他のソースリスト (default-src など) のものと同様ですが、 'unsafe-eval' や 'unsafe-inline' などは許可されていません。また、これは default-src の設定にフォールバックすることもありません。下記に示されたソースのみが許可されます。
- <host-source>
- スペースで区切られた、URL schemeやポート番号をふくむことができるIPアドレスや名前によるインターネットホスト名です。サイトのアドレスの前にワイルドカード (アスタリスク、
'*')を含めることができ、さらにすべてのポートがソースとして有効であることを示すためにポート番号としてワイルドカード ('*') を使うこともできます。ホスト名をシングルクオートで囲うことはできません。
例:http://*.example.com:http:のスキームを使用した、example.com のすべてのサブドメインからのすべての読み込みの試行に一致します。mail.example.com:443: mail.example.com の 443番ポートへのアクセスの試行に一致します。https://store.example.com:https:を使用した store.example.com へのアクセスの試行に一致します。
host-sourceにURLスキームが指定されておらず、 iframe がhttpsURLから読み込まれている場合、 iframe を読み込んでいるページの URL もhttpsでなければなりません。 W3C 仕様書の matching source expressions によるものです。 - <scheme-source>
http:またはhttps:のようなスキームです。コロンは必要です。以下の他の値とは異なり、単一引用符は使用しないでください。data スキームも指定することができます (非推奨)。data:コンテンツのソースとしてdata:の URI を使うことができるようにします。これは安全ではありません。攻撃者は任意の data: URI を挿入することもできます。使用は控え、スクリプトには絶対に使用しないでください。mediastream:mediastream:の URI をコンテンツのソースとして使用することができるようにします。blob:blob:の URI をコンテンツのソースとして使用することができるようにします。filesystem:filesystem:の URI をコンテンツのソースとして使用することができるようにします。
'self'- 保護された文書が提供されたオリジンを、同じ URL スキームおよびポート番号で参照します。単一引用符が必要です。ブラウザーによっては source ディレクティブから
blobおよびfilesystemを独自に除外していることがあります。これらのコンテンツ種別を許可する必要があるサイトは、Data 属性を使用して指定することができます。 'none'- 空のセットを参照します。つまり、一致する URL はありません。単一引用符が必要です。
例
Content-Security-Policy: frame-ancestors 'none';
Content-Security-Policy: frame-ancestors 'self' https://www.example.org;仕様書
| 仕様書 | 状態 | 備考 |
|---|---|---|
| Content Security Policy Level 3 frame-ancestors の定義 |
草案 | 変更なし |
| Content Security Policy Level 2 frame-ancestors の定義 |
勧告 | 初回定義 |
ブラウザーの互換性
BCD tables only load in the browser