Générateur de stratégie de sécurité du contenu (CSP)
Créez un en-tête Content-Security-Policy en activant ou désactivant des directives — obtenez l’en-tête HTTP et sa forme sous balise <meta>.
Réponse rapide: Content Security Policy (CSP) Generator: Fonctionne dans le navigateur, gratuitement, sans inscription.
Dernière mise à jour
Questions fréquentes
- Qu’est-ce qu’une stratégie de sécurité du contenu ?
- Il s’agit d’un en-tête indiquant au navigateur précisément quelles origines sont autorisées à charger des scripts, feuilles de style, images, polices et cadres sur votre page. Une CSP correctement configurée bloque la plupart des attaques XSS, même si votre filtrage des entrées présente une faille.
- Faut-il la déployer via un en-tête ou une balise meta ?
- Préférez l’en-tête si possible : une CSP définie par balise meta autorise moins de directives (pas de <code>frame-ancestors</code>, <code>sandbox</code> ni de <code>report-uri</code>). Utilisez la balise meta uniquement si vous ne pouvez pas modifier les en-têtes de réponse du serveur.
- Pourquoi <code>'unsafe-inline'</code> dans <code>script-src</code> est-il déconseillé ?
- Cette option indique au navigateur que les balises <code><script></code> intégrées sont autorisées, ce qui correspond exactement à ce qu’injectent la plupart des attaques XSS. Migrez vers des nonces ou des hachages ; les frameworks modernes simplifient cette démarche.
- Que faut-il savoir sur <code>'unsafe-eval'</code> ?
- Cette option autorise <code>eval()</code> et <code>new Function()</code>. Certains outils d’assemblage, comme d’anciennes configurations webpack ou certaines bibliothèques de modèles, en ont besoin ; les alternatives modernes non. Effectuez un audit avant de la conserver.
- Faut-il inclure <code>upgrade-insecure-requests</code> ?
- Oui, si votre site utilise uniquement HTTPS : cette directive remplace automatiquement toutes les requêtes <code>http://</code> présentes dans votre HTML par <code>https://</code>, éliminant les avertissements de contenu mixte sans modification du code.
- Quelle est la différence entre <code>frame-src</code> et <code>frame-ancestors</code> ?
- <code>frame-src</code> contrôle les cadres que vous pouvez intégrer ; <code>frame-ancestors</code> contrôle les sites pouvant vous intégrer. Cette dernière directive remplace l’ancien en-tête <code>X-Frame-Options</code>.
- Comment tester la stratégie ?
- Déployez d’abord <code>Content-Security-Policy-Report-Only</code> en renommant l’en-tête. Les navigateurs signaleront les violations à <code>report-uri</code> sans appliquer la stratégie, ce qui permet de corriger les problèmes avant son activation.
- La stratégie bloque-t-elle les outils d’analyse tiers ?
- Uniquement si vous ne les autorisez pas. Ajoutez les origines des outils d’analyse, par exemple <code>https://www.google-analytics.com</code>, à <code>script-src</code> et <code>connect-src</code>.
- Mes paramètres sont-ils envoyés en ligne ?
- Non : l’ensemble du générateur fonctionne dans votre navigateur. La stratégie générée ne quitte jamais votre appareil.
- Comment générer des nonces pour chaque requête ?
- Votre serveur génère un nonce aléatoire inédit pour chaque réponse et l’insère à la fois dans l’en-tête CSP (<code>'nonce-XYZ'</code>) et dans chaque balise <code><script></code> intégrée. La plupart des frameworks modernes proposent un utilitaire prévu à cet effet.