--- title: content_security_policy slug: Mozilla/Add-ons/WebExtensions/manifest.json/content_security_policy tags: - Add-ons - Extensions - WebExtensions translation_of: Mozilla/Add-ons/WebExtensions/manifest.json/content_security_policy ---
{{AddonSidebar}}
Type String
Obligatoire Non
Exemple
"content_security_policy": "default-src 'self'"

Les extensions ont une politique de sécurité de contenu qui leur est appliquée par défaut. La stratégie par défaut restreint les sources à partir desquelles elles peuvent charger les ressources <script> et <object>, et interdit les pratiques potentiellement dangereuses telles que l’utilisation d’eval(). Voir la politique de sécurité de contenu par défaut pour en savoir plus sur ces implications.

Vous pouvez utiliser la clé "content_security_policy" pour desserrer ou resserrer la politique par défaut. Cette clé est spécifiée de la même manière que l’en-tête HTTP Content-Security-Policy. Voir l’utilisation de la politique de sécurité de contenu pour une description générale de la syntaxe de CSP.

Par exemple, vous pouvez utiliser cette clé pour :

Il existe des restrictions sur la politique que vous pouvez spécifier ici :

Exemple

Examples valides

Autoriser les scripts distants de "https://example.com" : (voir note 1)

"content_security_policy": "script-src 'self' https://example.com; object-src 'self'"

Autoriser les scripts distants depuis n’importe quel sous-domaine de « jquery.com » :

"content_security_policy": "script-src 'self' https://*.jquery.com; object-src 'self'"

Autoriser eval() et ses amis :

"content_security_policy": "script-src 'self' 'unsafe-eval'; object-src 'self';"

Autoriser le script en ligne : "<script>alert('Hello, world.');</script>" :

"content_security_policy": "script-src 'self' 'sha256-qznLcsROx4GACP2dm0UCKCzCG+HiZ1guq6ZZDob/Tng='; object-src 'self'"

Conserver le reste de la politique, mais exiger également que les images soient empaquetées avec l’extension :

"content_security_policy": "script-src 'self'; object-src 'self'; img-src 'self'"

Exiger que tous les types de contenu soient empaquetés avec l’extension :

"content_security_policy": "default-src 'self'"

Exemples non valides

Politique qui omet la directive "object-src" :

"content_security_policy": "script-src 'self' https://*.jquery.com;"

Politique qui omet le mot-clé "self" dans la directive "script-src" :

"content_security_policy": "script-src https://*.jquery.com; object-src 'self'"

Le schéma pour une source distante n’est pas https: :

"content_security_policy": "script-src 'self' http://code.jquery.com; object-src 'self'"

Le caractère générique est utilisé avec un domaine générique :

"content_security_policy": "script-src 'self' https://*.blogspot.com; object-src 'self'"

La source spécifie un schéma mais aucun hôte :

"content_security_policy": "script-src 'self' https:; object-src 'self'"

La directive inclut le mot-clé non pris en charge 'unsafe-inline' :

"content_security_policy": "script-src 'self' 'unsafe-inline'; object-src 'self'"

1. Note : les exemples valides montrent l’utilisation correcte des clés dans CSP. Toutefois, les extensions avec 'unsafe-eval', 'unsafe-inline', des blobs, des scripts ou des sources distantes dans leur CSP ne sont pas autorisées à être répertoriées sur addons.mozilla.org en raison de problèmes de sécurité majeurs.

Compatibilité des navigateurs

{{Compat("webextensions.manifest.content_security_policy")}}