Valeurs
Vue générale des types de valeurs acceptés par une directive CSP, mots-clés, sources hôte, sources de schéma, nonces, hashs et report-sample.
Dernière mise à jour:
La plupart des directives de la politique de sécurité du contenu (CSP) prennent une liste d'expressions de source séparées par des espaces, les valeurs qui disent ce que la directive autorise. Une expression de source peut être un mot-clé, un hôte, un schéma, un nonce ou un hash. Cette page est l'index de ces types de valeurs et relie chacun à sa référence complète.
Pour les directives qui consomment ces valeurs, voir la vue d'ensemble des directives ; pour la façon dont une politique est livrée, voir la vue d'ensemble des headers.
Une politique compacte qui mélange un mot-clé, un nonce et une source de schéma :
Content-Security-Policy: script-src 'self' 'nonce-{RANDOM}'; img-src 'self' data:Les types de valeurs
| Type de valeur | Statut | Ce à quoi il correspond | Exemple |
|---|---|---|---|
| Mot-clé | ✅ Bon | Des jetons entre apostrophes au sens fixe | 'self', 'none', 'strict-dynamic' |
| Source hôte | ✅ Bon | Un hôte, avec en option schéma, port, chemin ou wildcard | cdn.example.com, *.example.com |
| Source de schéma | ✅ Bon | Un schéma d'URL entier | https:, data:, blob: |
| Nonce | ✅ Bon | Un jeton par réponse correspondant à un attribut nonce | 'nonce-r4nd0m' |
| Hash | ✅ Bon | Une empreinte d'un script ou style inline | 'sha256-...' |
| report-sample | ✅ Bon | Inclut un échantillon du contenu bloqué dans le rapport | 'report-sample' |
| report-sha256 | 🧪 Expérimental | Collecte report-only de hashs de script, Chromium uniquement | 'report-sha256' |
Le statut évalue ici le type de valeur, pas chaque valeur individuelle :
'unsafe-inline' est un mot-clé et * est une source hôte, et tous deux sont
dangereux. Les statuts par mot-clé se trouvent sur la
page des mots-clés.
Mots-clés
Les mots-clés sont des jetons entre apostrophes au sens fixe, détaillés sur la page des mots-clés. Ceux que vous utilisez le plus :
'self'correspond à l'origine de la page elle-même (même schéma, hôte et port), pas à ses sous-domaines, et n'autorise pas le code inline.'none'ne correspond à rien et s'utilise seul pour bloquer un type de ressource.'unsafe-inline'autorise les scripts et styles inline, mais il est ignoré lorsqu'un nonce ou un hash est présent dans la même directive.'strict-dynamic'propage la confiance d'un script autorisé par nonce ou hash vers les scripts qu'il charge, et fait ignorer les entrées d'hôte et de schéma. C'est la base d'une politique stricte.'trusted-types-eval'est un mot-clé plus récent qui n'autoriseeval()qu'avec unTrustedScriptquand les Trusted Types sont appliqués, en remplacement de'unsafe-eval'.
Sources hôte et de schéma
Une
source hôte
met en allowlist un hôte, avec en option un schéma, un port, un chemin ou un
wildcard *. en tête. *.example.com correspond aux sous-domaines mais pas à
example.com lui-même, et un * nu ne correspond pas à data:, blob: ni
filesystem:.
Une
source de schéma
met en allowlist un schéma entier, comme https: ou data:. Autoriser data:
dans script-src ou style-src est dangereux ; ce n'est en général sûr que dans
img-src ou font-src.
Nonces et hashs
Un nonce ou un hash vous permet d'autoriser un script ou un style inline précis sans ouvrir la porte à tout le code inline.
- Un nonce est un jeton généré côté serveur, impossible à deviner, unique à chaque
réponse, placé à la fois dans la politique sous la forme
'nonce-...'et sur l'attributnoncede l'élément correspondant. - Un hash est une empreinte du contenu inline exact, écrite
'sha256-...','sha384-...'ou'sha512-...'. Le navigateur hache l'élément et ne l'autorise que si l'empreinte correspond.
Vous pouvez calculer une empreinte pour du contenu inline avec le générateur de hash, et produire un attribut integrity pour une ressource externe avec le générateur SRI.
Valeurs de reporting
report-sample
est un mot-clé que vous ajoutez à une directive pour inclure le début du contenu
inline bloqué dans un champ sample du rapport de violation, ce qui rend un
blocage plus facile à retracer.
À part, les mots-clés de hash report-only report-sha256, report-sha384 et report-sha512 demandent au navigateur de signaler les hashs des scripts d'une page plutôt que d'appliquer quoi que ce soit. CentralCSP utilise ce mécanisme pour construire un inventaire de scripts et un SBOM de tout ce qui s'exécute sur chaque page. Les mots-clés sont stables dans la version actuelle de Chrome et figurent dans la grammaire du brouillon d'éditeur CSP3, mais restent propres à Chromium.
Voir aussi
Sources
Directives
Index des directives de la politique de sécurité du contenu par catégorie, fetch, document, navigation, reporting et Trusted Types, et leurs chaînes de repli.
Headers
Les headers HTTP qui livrent une CSP, enforce ou report-only, report-to ou report-uri, les limites du meta et la combinaison des politiques.