Valeurs de la liste de sources
Toutes les valeurs utilisables dans une liste de sources CSP script-src : mots-clés, sources d'hôte, sources de schéma, nonces et hachages.
Une liste de sources script-src est un ensemble d'expressions de source
séparées par des espaces. Cette page est la référence de chaque valeur acceptée
par la directive.
Sources par mot-clé
Les mots-clés sont entourés de guillemets simples. Les guillemets font partie de la syntaxe, ils ne sont pas facultatifs.
| Valeur | Signification |
|---|---|
'self' | Scripts provenant de l'origine de la page elle-même (mêmes schéma, hôte et port). |
'none' | Bloque tous les scripts. Une liste vide se comporte de la même façon. |
'unsafe-inline' | Autorise les scripts en ligne et les gestionnaires d'événement. Voir mots-clés unsafe. |
'unsafe-eval' | Autorise eval et les API similaires transformant une chaîne en code. |
'wasm-unsafe-eval' | Autorise la compilation WebAssembly sans autoriser eval en JS. |
'unsafe-hashes' | Autorise les gestionnaires d'événement en ligne dont le code correspond à un hachage listé. |
'strict-dynamic' | Propage la confiance d'un nonce ou d'un hachage aux scripts qu'il charge. Voir strict-dynamic. |
'report-sample' | Inclut un court extrait du code fautif dans les rapports de violation. |
Sources d'hôte
Une source d'hôte correspond par schéma, hôte, port et éventuellement chemin.
script-src example.com
script-src https://example.com
script-src https://example.com:443
script-src https://cdn.example.com/js/
*.example.comcorrespond à n'importe quel sous-domaine, mais pas àexample.comlui-même.- Un hôte nu comme
example.comcorrespond à la fois àhttp:ethttps:sur les ports par défaut. - Un chemin en fin d'expression restreint à ce préfixe de chemin.
https://cdn.example.com/js/autorise/js/app.jsmais pas/other/app.js.
Évitez un * nu. Il autorise les scripts de n'importe quel hôte et annule
l'intérêt de la directive.
Sources de schéma
Une source de schéma autorise toute origine utilisant ce schéma :
script-src https:
https: autorise les scripts de n'importe quel hôte via HTTPS. N'utilisez
jamais data: dans script-src. Une source data: permet à un attaquant
d'insérer un script en ligne sous forme d'URL, ce qui réintroduit le XSS que
vous cherchez à bloquer.
Nonces
Un nonce autorise un script en ligne précis par réponse :
script-src 'nonce-r4nd0m'
<script nonce="r4nd0m">/* runs */</script>
La valeur doit être nouvelle, aléatoire et impossible à deviner à chaque réponse. Tous les détails figurent sur la page nonces. La valeur doit être générée sur le serveur, nouvelle à chaque réponse.
Hachages
Un hachage autorise un script en ligne dont le contenu correspond exactement :
script-src 'sha256-BpfBOAGst…'
Les algorithmes pris en charge sont sha256, sha384 et sha512. Voir
hachages pour savoir comment le condensé est calculé.