fenced-frame-src
La directive CSP fenced-frame-src contrôle les sources chargeables dans un élément fencedframe. Expérimentale et limitée à Chromium.
Dernière mise à jour:
La directive fenced-frame-src de la politique de sécurité du contenu (CSP)
contrôle les sources chargeables dans un élément <fencedframe>. Une fenced
frame est un contexte intégré isolé de la page qui l'héberge, utilisé par des API
axées sur la confidentialité comme Protected Audience et Shared Storage.
Expérimental, Chromium uniquement
fenced-frame-src est expérimentale et n'est livrée que dans les navigateurs basés sur Chromium. Elle n'est pas Baseline et n'est pas implémentée dans Firefox ni Safari. La directive est liée aux API de confidentialité des fenced frames, encore en évolution, donc son comportement et sa grammaire peuvent changer entre les versions de Chromium. Considérez-la comme instable et vérifiez la section Prise en charge par les navigateurs avant de vous y fier.
Une politique minimale pour cette directive, avec la valeur la plus stricte qu'elle accepte :
Content-Security-Policy: fenced-frame-src https:Chaîne de repli
Quand fenced-frame-src est absente, le navigateur retombe sur
frame-src,
puis sur
child-src :
fenced-frame-src -> frame-src -> child-srcUne politique qui contraint déjà frame-src contraint donc aussi les fenced
frames, sauf si vous définissez fenced-frame-src avec une valeur différente.
Valeurs
fenced-frame-src accepte une liste de sources restreinte. Contrairement aux
autres directives fetch, elle n'accepte que la
source de schéma
https: et le joker * :
| Valeur | Statut | Description |
|---|---|---|
https: | 🧪 Expérimental | Fenced frames depuis toute origine HTTPS. Le seul schéma que la directive accepte. |
* | 🧪 Expérimental | Équivalent à https: ici, puisqu'une fenced frame doit être servie en HTTPS. |
Les sources d'hôte, 'self', 'none' et les sources nonce ou hash ne sont pas
acceptées par cette directive.
Exemples
Une politique qui épingle les frames ordinaires sur l'origine de la page tout en
autorisant les fenced frames, qui ne peuvent pas être épinglées plus strictement
que https: :
Content-Security-Policy: frame-src 'self'; fenced-frame-src https:Utiliser * au lieu de https: est équivalent pour cette directive, puisqu'une
fenced frame doit de toute façon être servie en HTTPS.
Notes de sécurité
Une fenced frame est déjà fortement isolée de la page qui l'intègre, par
conception. fenced-frame-src permet à une politique de déclarer, au niveau du
document, si des fenced frames peuvent être créées et depuis quel schéma, de
sorte qu'une page qui n'utilise pas les API concernées peut les refuser via sa
CSP.
Contournements et risques connus
Parce que la directive n'accepte que https: et *, elle ne peut pas
restreindre les fenced frames à un hôte précis comme
frame-src
restreint les frames ordinaires. La fonctionnalité est liée à des API de
confidentialité en évolution, donc son comportement exact et la grammaire de la
directive peuvent changer entre les versions de Chromium.
Recommandation
Content-Security-Policy: fenced-frame-src https:Ne définissez fenced-frame-src que si votre page utilise réellement des fenced
frames ; https: est la valeur la plus stricte qu'elle accepte. Si vous ne les
utilisez pas, n'ajoutez rien, un frame-src strict couvre déjà les fenced frames
via la chaîne de repli. Dans les deux cas, gardez frame-src comme la vraie
restriction, puisque cette directive ne peut pas épingler d'hôtes et ne
fonctionne que dans Chromium.
Reporting
Quand une fenced frame est bloquée dans un navigateur qui la prend en charge, il
envoie un report csp-violation
avec fenced-frame-src comme effectiveDirective. CentralCSP collecte et agrège
ces reports avec le reste de votre trafic CSP, donc vous pouvez surveiller cette
surface expérimentale sans configuration supplémentaire.
Prise en charge par les navigateurs
Navigateurs basés sur Chromium uniquement (Chrome, Edge et Opera), et encore expérimentale. Non implémentée dans Firefox ni Safari, et pas dans Baseline. Les navigateurs qui n'implémentent pas les fenced frames ignorent la directive.
Voir aussi
- frame-src, le repli et la directive des frames ordinaires
- child-src, le repli suivant dans la chaîne
- Évaluer une politique avec l'évaluateur CSP
Sources
prefetch-src
La directive CSP prefetch-src contrôlait les sources des ressources préchargées et prérendues. Elle est dépréciée, non standard et retirée.
base-uri
La directive CSP base-uri restreint les URL autorisées dans le href de la balise base et ferme un vecteur XSS courant par injection de balise base.