--- title: 'CSP: frame-ancestors' slug: Web/HTTP/Headers/Content-Security-Policy/frame-ancestors tags: - Ancestors - CSP - Content-Security-Policy - Directive - Frame - HTTP - Security - frame-ancestors translation_of: Web/HTTP/Headers/Content-Security-Policy/frame-ancestors ---
HTTP の {{HTTPHeader("Content-Security-Policy")}} (CSP) である frame-ancestors
ディレクティブは {{HTMLElement("frame")}}、 {{HTMLElement("iframe")}}、 {{HTMLElement("object")}} 、 {{HTMLElement("embed")}}、 {{HTMLElement("applet")}} などを使ってページを埋め込むことのできる親を指定します。
このディレクティブを 'none'
にすることは、 {{HTTPHeader("X-Frame-Options")}}: deny
(これは古いブラウザーも同様に対応しています) を設定するのに似ています。
CSP バージョン | 2 |
---|---|
ディレクティブ種別 | {{Glossary("Navigation directive", "ナビゲーションディレクティブ")}} |
{{CSP("default-src")}} による代替 | なし。設定しない場合はすべてを許可します。 |
このディレクティブは {{HTMLElement("meta")}} 要素では対応していません。 |
frame-ancestors
ポリシーをこのように一つ以上セットできます。
Content-Security-Policy: frame-ancestors <source>; Content-Security-Policy: frame-ancestors <source> <source>;
<source> は以下のうちのいずれかです。
frame-ancestors
ディレクティブの構文は他のソースリスト ({{CSP("default-src")}} など) のものと同様ですが、 'unsafe-eval'
や 'unsafe-inline'
などは許可されていません。また、これは default-src
の設定にフォールバックすることもありません。下記に示されたソースのみが許可されます。
'*'
)を含めることができ、さらにすべてのポートがソースとして有効であることを示すためにポート番号としてワイルドカード ('*'
) を使うこともできます。ホスト名をシングルクオートで囲うことはできません。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 によるものです。
http:
または https:
のようなスキームです。コロンは必要です。以下の他の値とは異なり、単一引用符は使用しないでください。data スキームも指定することができます (非推奨)。
data:
コンテンツのソースとして data:
の URI を使うことができるようにします。これは安全ではありません。攻撃者は任意の data: URI を挿入することもできます。使用は控え、スクリプトには絶対に使用しないでください。mediastream:
mediastream:
の URI をコンテンツのソースとして使用することができるようにします。blob:
blob:
の URI をコンテンツのソースとして使用することができるようにします。filesystem:
filesystem:
の URI をコンテンツのソースとして使用することができるようにします。'self'
blob
および filesystem
を独自に除外していることがあります。これらのコンテンツ種別を許可する必要があるサイトは、Data 属性を使用して指定することができます。'none'
Content-Security-Policy: frame-ancestors 'none'; Content-Security-Policy: frame-ancestors 'self' https://www.example.org;
仕様書 | 状態 | 備考 |
---|---|---|
{{specName("CSP 3.0", "#directive-frame-ancestors", "frame-ancestors")}} | {{Spec2('CSP 3.0')}} | 変更なし |
{{specName("CSP 1.1", "#directive-frame-ancestors", "frame-ancestors")}} | {{Spec2('CSP 1.1')}} | 初回定義 |
{{Compat("http.headers.csp.Content-Security-Policy.frame-ancestors")}}