--- 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 `