--- 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 ---
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 :
Version de CSP | 1 |
---|---|
Type de directive | {{Glossary("Fetch directive")}} |
Une ou plusieurs sources peuvent être autorisées pour cette directive :
Content-Security-Policy: default-src <source>; Content-Security-Policy: default-src <source> <source>;
La <source> peut être une des suivantes :
'*'
), qui ne peut être utilisée que pour indiquer un sous-domaine ou que tous les ports existants sont des sources valides.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.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:
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:
d'être utilisées comme source de contenu.blob:
permet aux URI blob:
d'être utilisées comme source de contenu.filesystem:
Allows URI filesystem:
d'être utilisées comme source de contenu.'self'
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'
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'
javascript:
, cette valeur est plus sécurisée que unsafe-inline
.'unsafe-inline'
src
), d'URL javascript:
, de gestionnaire d'évènement par attributs (on<eventName>
), et d'éléments {{HTMLElement("style")}}. Vous devez mettre cette valeur entre guillemets.'none'
'unsafe-inline'
, qui peut toutefois être laissée pour les anciens navigateurs ne supportant pas les nonces.<script>
ou d'un <style>
. Cette source est composée de deux parties séparées par un tiret : le nom de l'algorithme de chiffrage utilisé pour générer le hash à gauche et le hash encodé en base 64 à droite. Lors de la génération du hash, il ne faut pas inclure les balises <script>
or <style>
et tenir compte de la casse et des caractères blancs (espaces, retours à la ligne, etc.). Voir inline script non fiables pour en avoir un exemple. En CSP 2.0, cette valeur ne s'applique qu'aux scripts embarqués. CSP 3.0 le permet aussi dans le cas de scripts externes.strict-dynamic
spécifie que la confiance explicitement donnée à un script de la page, par le biais d'un nonce ou d'un hash, doit être propagée à tous les scripts chargés par celui-ci. En conséquence, toute les valeurs telles que 'self'
ou 'unsafe-inline'
et listes de permissions sont ignorées. Voir script-src pour en avoir un exemple.S'il y a d'autres directives spécifiées, default-src
ne les affecte pas. Soit l'en-tête suivant :
Content-Security-Policy: default-src 'self'; script-src https://example.com
Est identique à :
Content-Security-Policy: connect-src 'self'; font-src 'self'; frame-src 'self'; img-src 'self'; manifest-src 'self'; media-src 'self'; object-src 'self'; script-src https://example.com; style-src 'self'; worker-src 'self'
Spécification | Statut | Commentaire |
---|---|---|
{{specName("CSP 3.0", "#directive-default-src", "default-src")}} | {{Spec2('CSP 3.0')}} | Ajout de frame-src , manifest-src et worker-src comme valeurs par défaut. |
{{specName("CSP 1.1", "#directive-default-src", "default-src")}} | {{Spec2('CSP 1.1')}} | Définition initiale. |
{{Compat("http.headers.csp.Content-Security-Policy.default-src")}}
upgrade-insecure-requests
block-all-mixed-content
require-sri-for
{{experimental_inline}}