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> 要素では対応していません。

構文

http
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' と宣言しても、それでも誰でもリソースを埋め込むことができます。

http
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

ブラウザーの互換性

関連情報