--- title: 'CSP: frame-ancestors' slug: Web/HTTP/Headers/Content-Security-Policy/frame-ancestors tags: - CSP - Content-Security-Policy - Directive - Frame - HTTP - Security - Sécurité - frame-ancestors - source translation_of: Web/HTTP/Headers/Content-Security-Policy/frame-ancestors ---
La directive HTTP {{HTTPHeader("Content-Security-Policy")}} (CSP) frame-ancestors
spécifie les parents pouvant intégrer une page en utilisant {{HTMLElement("frame")}}, {{HTMLElement("iframe")}}, {{HTMLElement("object")}}, {{HTMLElement("embed")}}, ou {{HTMLElement("applet")}}.
Définir cette directive à 'none'
est comparable à len-tête HTTP {{HTTPHeader("X-Frame-Options")}}: deny
(aussi supporté sur les anciens navigateurs).
CSP version | 2 |
---|---|
Directive type | {{Glossary("Navigation directive")}} |
{{CSP("default-src")}} fallback | No. Not setting this allows anything. |
This directive is not supported in the {{HTMLElement("meta")}} element. |
Une ou plusieurs sources peuvent être autorisées pour cette directive :
Content-Security-Policy: frame-ancestors <source>; Content-Security-Policy: frame-ancestors <source> <source>;
La <source> peut être une des suivantes :
The frame-ancestors
directive’s syntax is similar to a source list of other directives (e.g. {{CSP("default-src")}}), but doesn't allow 'unsafe-eval'
or 'unsafe-inline'
for example. It will also not fall back to a default-src
setting. Only the sources listed below are allowed:
'*'
), qui ne peut être utilisée que pour indiquer un sous-domaine ou que tous les ports existants sont des sources valides. Vous ne devez pas mettre de guillemets simples.http://*.example.com
: correspondra à toutes les tentatives d'accès pour tous les sous-domaines de example.com via le protocole http:
.mail.example.com:443
: correspondra à toutes les tentatives d'accès sur le port 443 de mail.example.com.https://store.example.com
: correspondra à toutes les tentatives d'accès à store.example.com via le protocole https:
.Si aucun schéma d'URL n'est spécifié comme host-source
et que l'{{HTMLElement("iframe")}} est chargée via une URL https:
, la page chargeant l'iframe doit aussi être chargée en https:
, selon la spécification du W3C sur les correspondances de valeurs de sources.
http:
or https:
. Les deux-points sont nécessaires et vous ne devez pas mettre de guillemets. Vous pouvez aussi spécifier des schémas de données bien que ce ne soit pas recommandé.
data:
Autorise les URI data:
à être utilisées comme source de contenu. Cette pratique manque de sécurité ; une personne malveillante peut aussi injecter des URI data: arbitraires. Utilisez cette valeur avec parcimonie et certainement pas pour des scripts.mediastream:
permet aux URI mediastream:
d'être utilisées comme source de contenu.blob:
permet aux URI blob:
d'être utilisées comme source de contenu.filesystem:
Allows URI filesystem:
d'être utilisées comme source de contenu.'self'
blob
et filesystem
des directives de source. Les sites nécessitant une permission pour ces types de contenu peuvent les spécifier en utilisant l'attribut Data.'none'
Content-Security-Policy: frame-ancestors 'none'; Content-Security-Policy: frame-ancestors 'self' https://www.example.org;
Spécification | Statut | Commentaire |
---|---|---|
{{specName("CSP 3.0", "#directive-frame-ancestors", "frame-ancestors")}} | {{Spec2('CSP 3.0')}} | Inchangé. |
{{specName("CSP 1.1", "#directive-frame-ancestors", "frame-ancestors")}} | {{Spec2('CSP 1.1')}} | Définition initiale. |
The compatibility table in this page is generated from structured data. If you'd like to contribute to the data, please check out https://github.com/mdn/browser-compat-data and send us a pull request.
{{Compat("http.headers.csp.Content-Security-Policy.frame-ancestors")}}