CSP: frame-ancestors
Baseline Widely available
This feature is well established and works across many devices and browser versions. It’s been available across browsers since August 2016.
HTTP の Content-Security-Policy
(CSP) である frame-ancestors
ディレクティブは <frame>
、<iframe>
、<object>
、<embed>
などを使ってページを埋め込むことのできる親を指定します。
このディレクティブを 'none'
にすることは、 X-Frame-Options
: deny
(これは古いブラウザーも同様に対応しています)を設定するのに似ています。
メモ: frame-ancestors
は、ページを埋め込むことができる親ソースを指定することができます。
これは、ページ内の iframe をどこから読み込むかを指定する frame-src
とは異なります。
CSP バージョン | 2 |
---|---|
ディレクティブ種別 | ナビゲーションディレクティブ |
default-src による代替 |
なし。設定しない場合はすべてを許可します。 |
このディレクティブは <meta> 要素では対応していません。
|
構文
Content-Security-Policy: frame-ancestors 'none';
Content-Security-Policy: frame-ancestors <source-expression-list>;
このディレクティブは、次のいずれかの値を指定することができます。
'none'
-
この種類のリソースは埋め込まれません。単一引用符は必須です。
<source-expression-list>
-
ソース表現の値を空白で区切ったリストです。この種類のリソースは、埋め込み元が指定されたソース表現のいずれかと一致した場合に埋め込まれます。このディレクティブでは、以下のソース表現の値が適用できます。
メモ: frame-ancestors
ディレクティブの構文は他のソースリスト(child-src
など)の構文と似ていますが、 default-src
の設定に代替されることはありません。ポリシーで default-src 'none'
と宣言しても、それでも誰でもリソースを埋め込むことができます。
例
Content-Security-Policy: frame-ancestors 'none';
Content-Security-Policy: frame-ancestors 'self' https://www.example.org;
Content-Security-Policy: frame-ancestors 'self' https://example.org https://example.com https://store.example.com;
仕様書
Specification |
---|
Content Security Policy Level 3 # directive-frame-ancestors |