# Valeurs (/fr/docs/web-security/policies/content-security-policy/introduction/csp-values)



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](/fr/docs/web-security/policies/content-security-policy/introduction/csp-directives) ;
pour la façon dont une politique est livrée, voir la
[vue d'ensemble des headers](/fr/docs/web-security/policies/content-security-policy/introduction/csp-headers).

Une politique compacte qui mélange un mot-clé, un nonce et une source de schéma :

```http
Content-Security-Policy: script-src 'self' 'nonce-{RANDOM}'; img-src 'self' data:
```

## Les types de valeurs [#les-types-de-valeurs]

| Type de valeur                                                                                      | Statut          | Ce à quoi il correspond                                      | Exemple                                |
| --------------------------------------------------------------------------------------------------- | --------------- | ------------------------------------------------------------ | -------------------------------------- |
| [Mot-clé](/fr/docs/web-security/policies/content-security-policy/values/csp-keywords)               | ✅ Bon           | Des jetons entre apostrophes au sens fixe                    | `'self'`, `'none'`, `'strict-dynamic'` |
| [Source hôte](/fr/docs/web-security/policies/content-security-policy/values/csp-host-source)        | ✅ Bon           | Un hôte, avec en option schéma, port, chemin ou wildcard     | `cdn.example.com`, `*.example.com`     |
| [Source de schéma](/fr/docs/web-security/policies/content-security-policy/values/csp-scheme-source) | ✅ Bon           | Un schéma d'URL entier                                       | `https:`, `data:`, `blob:`             |
| [Nonce](/fr/docs/web-security/policies/content-security-policy/values/csp-hashes-nonce)             | ✅ Bon           | Un jeton par réponse correspondant à un attribut `nonce`     | `'nonce-r4nd0m'`                       |
| [Hash](/fr/docs/web-security/policies/content-security-policy/values/csp-hashes-nonce)              | ✅ Bon           | Une empreinte d'un script ou style inline                    | `'sha256-...'`                         |
| [report-sample](/fr/docs/web-security/policies/content-security-policy/values/csp-keywords)         | ✅ Bon           | Inclut un échantillon du contenu bloqué dans le rapport      | `'report-sample'`                      |
| [report-sha256](/fr/docs/web-security/policies/content-security-policy/values/report-sha-keyword)   | 🧪 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](/fr/docs/web-security/policies/content-security-policy/values/csp-keywords).

## 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](/fr/docs/web-security/policies/content-security-policy/values/csp-keywords).
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'autorise `eval()`
  qu'avec un `TrustedScript` quand les Trusted Types sont appliqués, en
  remplacement de `'unsafe-eval'`.

## Sources hôte et de schéma [#sources-hôte-et-de-schéma]

Une
[source hôte](/fr/docs/web-security/policies/content-security-policy/values/csp-host-source)
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](/fr/docs/web-security/policies/content-security-policy/values/csp-scheme-source)
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 [#nonces-et-hashs]

Un
[nonce ou un hash](/fr/docs/web-security/policies/content-security-policy/values/csp-hashes-nonce)
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'attribut `nonce` de 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](/tools/csp-hash), et produire un attribut integrity
pour une ressource externe avec le [générateur SRI](/tools/sri-hash).

## Valeurs de reporting [#valeurs-de-reporting]

[report-sample](/fr/docs/web-security/policies/content-security-policy/values/csp-keywords)
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](/fr/docs/web-security/policies/content-security-policy/values/report-sha-keyword)
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](/platform/supply-chain) 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 [#voir-aussi]

* [Ce qu'est la CSP](/fr/docs/web-security/policies/content-security-policy/introduction/what-is-csp)
* [Directives CSP](/fr/docs/web-security/policies/content-security-policy/introduction/csp-directives)
* [Headers CSP](/fr/docs/web-security/policies/content-security-policy/introduction/csp-headers)
* [Mots-clés](/fr/docs/web-security/policies/content-security-policy/values/csp-keywords)
* [Hashs et nonces](/fr/docs/web-security/policies/content-security-policy/values/csp-hashes-nonce)

## Sources [#sources]

* [MDN, Content-Security-Policy](https://developer.mozilla.org/en-US/docs/Web/HTTP/Reference/Headers/Content-Security-Policy)
* [W3C, Content Security Policy Level 3](https://www.w3.org/TR/CSP3/)
* [web.dev, Mitigate cross-site scripting with a strict CSP](https://web.dev/articles/strict-csp)
