Cette page a été traduite à partir de l'anglais par la communauté. Vous pouvez contribuer en rejoignant la communauté francophone sur MDN Web Docs.

View in English Always switch to English

Content-Security-Policy : directive base-uri

Baseline Large disponibilité

Cette fonctionnalité est bien établie et fonctionne sur de nombreux appareils et versions de navigateurs. Elle est disponible sur tous les navigateurs depuis janvier 2020.

La directive HTTP Content-Security-Policy (CSP) base-uri restreint les URL qui peuvent être utilisées comme valeur d'un élément HTML <base>. Si cette valeur est absente, alors toutes les adresses sont autorisées. Si cette directive est absente, l'agent utilisateur utilisera la valeur de l'élément HTML <base>.

Version de CSP 2
Type de directive Directive de document
Solution de repli default-src Non. Ne pas définir cette directive autorise toutes les URL.

Syntaxe

http
Content-Security-Policy: base-uri 'none';
Content-Security-Policy: base-uri <source-expression-list>;

Cette directive peut avoir l'une des valeurs suivantes :

'none'

Aucun URI de base ne peut être défini à l'aide d'un élément <base>. Les guillemets simples sont obligatoires.

<source-expression-list>

Une liste d'expressions de source séparées par des espaces. Un élément <base> peut définir un URI de base si sa valeur correspond à l'une des expressions de source données. Pour cette directive, les valeurs d'expression de source suivantes sont applicables :

Exemples

Configuration avec la balise <meta>

html
<meta http-equiv="Content-Security-Policy" content="base-uri 'self'" />

Configuration avec Apache

apacheconf
<IfModule mod_headers.c>
Header set Content-Security-Policy "base-uri 'self'";
</IfModule>

Configuration avec Nginx

nginx
add_header Content-Security-Policy "base-uri 'self';"

Cas de violation

À partir du moment où votre domaine n'est pas example.com, un élément <base> avec son attribut href défini à https://example.com résultera en une violation de CSP.

html
<meta http-equiv="Content-Security-Policy" content="base-uri 'self'" />
<base href="https://example.com/" />

<!--
Error: Refused to set the document's base URI to 'https://example.com/'
because it violates the following Content Security Policy
directive: "base-uri 'self'"
-->

Spécifications

Spécification
Content Security Policy Level 3
# directive-base-uri

Compatibilité des navigateurs

Voir aussi