---
title: 'CSP: default-src'
slug: Web/HTTP/Headers/Content-Security-Policy/default-src
tags:
- CSP
- Content-Security-Policy
- Directive
- HTTP
- Reference
- Security
- Sécurité
- default
- default-src
- source
translation_of: Web/HTTP/Headers/Content-Security-Policy/default-src
---
{{HTTPSidebar}}
La directive HTTP {{HTTPHeader("Content-Security-Policy")}} (CSP) **`default-src`** sert de valeur par défaut pour les autres directives CSP {{Glossary("fetch directive", "fetch directives")}}.
Pour chacune des directives suivantes, l'agent utilisateur consultera la directive `default-src` et utilisera sa valeur pour la directive demandée si celle-ci est absente :
- {{CSP("child-src")}}
- {{CSP("connect-src")}}
- {{CSP("font-src")}}
- {{CSP("frame-src")}}
- {{CSP("img-src")}}
- {{CSP("manifest-src")}}
- {{CSP("media-src")}}
- {{CSP("object-src")}}
- {{CSP("prefetch-src")}}
- {{CSP("script-src")}}
- {{CSP("script-src-elem")}}
- {{CSP("script-src-attr")}}
- {{CSP("style-src")}}
- {{CSP("style-src-elem")}}
- {{CSP("style-src-attr")}}
- {{CSP("worker-src")}}
Version de CSP
1
Type de directive
{{Glossary("Fetch directive")}}
## Syntaxe
Une ou plusieurs sources peuvent être autorisées pour cette directive :
Content-Security-Policy: default-src ;
Content-Security-Policy: default-src ;
### Sources
La \ peut être une des suivantes :
- \
- : Des hôtes Internet par leur nom de domaine ou adresse IP, aussi bien qu'un [protocole](/en-US/docs/URIs_and_URLs) et/ou un numéro de port. L'adresse du site peut inclure un caractère de remplacement optionnel (l'astérisque `'*'`), qui ne peut être utilisée que pour indiquer un sous-domaine ou que tous les ports existants sont des sources valides.
Exemples:
- `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:`.
- `*.example.com`: correspondra à toutes les tentatives d'accès pour tous les sous-domaines de example.com en utilisant le protocole courant.
- \
- : Un protocole tel que `http:` ou `https:`. Les deux-points sont nécessaires. Contrairement à d'autres valeurs ci-bas, les guillemets ne devraient pas être employés. Vous pouvez aussi spécifier des schémas de données (quoi que ce ne soit pas recommandé).
- `data:` permet aux [URI `data:`](/en-US/docs/Web/HTTP/Basics_of_HTTP/Data_URIs) d'être utilisées comme sources de contenu. _Cette pratique manque de sécurité ; une personne malveillante peut aussi injecter des URI data: arbitraires. Utilisez cette valeur avec parcimonie certainement pas pour des scripts._
- `mediastream:` permet aux [URI `mediastream:`](/en-US/docs/Web/API/MediaStream_API) d'être utilisées comme source de contenu.
- `blob:` permet aux [URI `blob:`](/en-US/docs/Web/API/Blob) d'être utilisées comme source de contenu.
- `filesystem:` Allows [URI `filesystem:`](/en-US/docs/Web/API/FileSystem) d'être utilisées comme source de contenu.
- `'self'`
- : Cette valeur fait référence au domaine dont est originaire le document protégé, y compris le protocole et le numéro de port. Vous devez mettre cette valeur entre guillemets. Certains navigateurs excluent spécifiquement les valeurs `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.
- `'unsafe-eval'`
- : Permet l'usage de la fonction `eval()` et de méthodes similaires pour créer du code à partir de chaines de caractères. Vous devez mettre cette valeur entre guillemets.
- `'unsafe-hashes'`
- : Permet l'usage de certains [écouteurs d'évènements](/en-US/docs/Web/Guide/Events/Event_handlers) par attributs. Si vous n'avez besoin que d'écouteurs d'évènements par attributs et non d'éléments {{HTMLElement("script")}} embarqués ou d'URL `javascript:`, cette valeur est plus sécurisée que `unsafe-inline`.
- `'unsafe-inline'`
- : Permet l'usage de ressources embarquées, tels que des éléments {{HTMLElement("script")}} (sans `src`), d'URL `javascript:`, de gestionnaire d'évènement par attributs (`on`), et d'éléments {{HTMLElement("style")}}. Vous devez mettre cette valeur entre guillemets.
- `'none'`
- : Aucune source n'est admise. Vous devez mettre cette valeur entre guillemets.
- 'nonce-\'
- : Une liste de permissions pour des scripts embarqués spécifiques en utilisant un nonce (_number used once_, nombre à usage unique) cryptographique. Le serveur doit générer un nonce à chaque fois qu'il transmet une réponse. Il est extrèmement important de fournir des nonces non prédictibles, puisque le contraire permettrait aisément de contourner la stratégie de sécurité. Voir [inline script non fiables](/en-US/docs/Web/HTTP/Headers/Content-Security-Policy/script-src#Unsafe_inline_script) pour avoir un exemple. Spécifier un nonce implique que les navigateurs modernes ignoreront la valeur `'unsafe-inline'`, qui peut toutefois être laissée pour les anciens navigateurs ne supportant pas les nonces.
- '\-\'
- : Un hash sha256, sha384 ou sha512 d'un `