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 がhttps
URLから読み込まれている場合、 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