Générateur et vérificateur de CSP

Saisissez votre politique, une directive par ligne ou séparées par des points-virgules. Vous obtenez l'en-tête à copier, un tableau de la règle qui s'applique réellement aux scripts, aux styles, aux images et aux autres ressources, et des avertissements pour les valeurs qui affaiblissent la politique.

Gratuit Fonctionne dans votre navigateur Vérifié le mardi 10 novembre 2026

Des directives comme default-src 'self'. Séparez-les par un point-virgule ou un saut de ligne. Les noms de directives ne tiennent pas compte de la casse.

Mode d'envoi

Report-Only est l'en-tête pour tester une politique avant de l'imposer. Le nom de l'en-tête est celui de la ligne de résultat.

Résultat

Ligne d'en-tête — Copiez-la dans les réglages de votre serveur ou dans la configuration des en-têtes de votre framework.
Contrôle — Chaque avertissement est listé sous le résultat.
Ligne d'en-tête
Règle qui s'applique, par ressource

Cet outil fonctionne dans votre navigateur. Ce que vous saisissez ne nous est pas envoyé.

Mode d'emploi

  1. Saisissez les directives dans Politique, une par ligne, avec leurs noms exactement comme écrits, comme script-src.
  2. Choisissez le Mode d'envoi : Content-Security-Policy impose la politique, et Content-Security-Policy-Report-Only est l'en-tête à tester d'abord.
  3. Lisez Règle qui s'applique, par ressource pour voir quelle directive couvre les scripts, les styles, les images et les cadres.
  4. Copiez la Ligne d'en-tête dans votre serveur, et corrigez chaque avertissement listé sous le résultat.

Quelle règle s'applique à une ressource

Un navigateur vérifie chaque type de ressource avec une directive. Quand cette directive manque, il se replie le long d'une chaîne, et le tableau montre la chaîne suivie. Les chaînes viennent de CSP niveau 3, section 6.8.3.

  • Scripts : script-src-elem, puis script-src, puis default-src.
  • Gestionnaires d'événements en ligne : script-src-attr, puis script-src, puis default-src.
  • Feuilles de style : style-src-elem, puis style-src, puis default-src. Les attributs de style en ligne suivent le même schéma avec style-src-attr.
  • Cadres : frame-src, puis child-src, puis default-src.
  • Workers : worker-src, puis child-src, puis script-src, puis default-src.
  • Images, polices, médias, modules externes, manifestes et requêtes fetch : leur propre directive, puis default-src.

Ce que le contrôle lit

Les directives sont séparées par des points-virgules, et cet outil accepte aussi les sauts de ligne. Un nom se lit jusqu'à la première espace et ne tient pas compte de la casse. Quand une directive apparaît deux fois, la première compte et la répétition est ignorée (CSP niveau 3, section 2.2.1).

  • Les mots-clés comme 'self' et 'none' s'écrivent entre apostrophes simples. 'none' doit être seul dans sa liste.
  • Un nonce est 'nonce-' suivi d'une valeur en base64. Un hachage est sha256, sha384 ou sha512, un tiret, puis une valeur en base64 (section 2.3.1).
  • Une virgule n'est pas permise dans la valeur d'une directive, car elle sépare les politiques dans l'en-tête.

Ce que le contrôle ne fait pas

  • Il ne charge pas la page et ne teste pas la politique dans un navigateur. Le tableau montre la règle qu'utiliserait un navigateur, pas si votre page fonctionne encore.
  • Il vérifie l'orthographe des mots-clés, des nonces et des hachages, mais il ne contrôle pas en détail les sources d'hôte et de schéma.
  • Il ne juge pas les directives qu'il ne liste pas, comme sandbox. Elles restent dans la ligne d'en-tête sans changement.

Exemple détaillé : la politique d'exemple

Avec la politique d'exemple, les scripts utilisent script-src, car script-src-elem manque. Les cadres n'ont ni frame-src ni child-src : ils se replient donc sur default-src. Les workers n'ont ni worker-src ni child-src, ils utilisent donc script-src. La directive style-src contient 'unsafe-inline', et le contrôle le signale comme un avertissement.

Ressource Vérifiée dans l'ordre Règle utilisée
Scripts (éléments script) script-src-elem, script-src, default-src script-src
Cadres (iframe) frame-src, child-src, default-src default-src
Workers worker-src, child-src, script-src, default-src script-src

Questions fréquentes

Pourquoi le tableau montre-t-il une règle que je n'ai pas écrite pour les scripts ?

Une ressource sans directive propre utilise la directive vers laquelle elle se replie. Pour les scripts, c'est script-src-elem, puis script-src, puis default-src. Le tableau montre la règle qu'utiliserait un navigateur : un script-src absent peut donc tout de même donner une règle.

Que permet 'unsafe-inline' ?

Il autorise le script ou le style en ligne aux endroits que couvre la directive. Un nonce ou un hachage dans la même liste de sources fait que les navigateurs ignorent 'unsafe-inline' (CSP niveau 3, section 6.7.3.2) : utilisez donc l'un de ceux-ci pour le code en ligne dont vous avez besoin.

Faut-il écrire report-uri ou report-to ?

Utilisez report-to. MDN le décrit comme la directive qui remplace report-uri. Tant que report-to n'est pas largement pris en charge, MDN conseille d'envoyer les deux, et le contrôle signale report-uri quand il est présent.

Pourquoi l'un de mes noms de directive est-il marqué comme inconnu ?

Le contrôle juge seulement les directives que les navigateurs proposent et que MDN documente. Un nom qu'il ne connaît pas reste dans la ligne d'en-tête sans changement, mais il n'est pas dans le tableau et n'est pas jugé.

L'outil envoie-t-il ma politique quelque part ?

Non. L'en-tête est construit dans votre navigateur. Rien de ce que vous saisissez n'est envoyé à notre serveur ni enregistré, et la politique n'est testée sur aucun site.

CSP niveau 3 est-il une norme définitive ?

Pas encore. Le texte que suit ce contrôle est un projet de travail du W3C daté du 27 octobre 2026, un projet sur la voie des recommandations. Lisez la dernière version avant de vous fier à une règle dans une politique en production.

Sources

Chiffres et texte vérifiés pour la dernière fois le mardi 10 novembre 2026.

Nous utilisons des cookies nécessaires au fonctionnement du site. Avec votre accord, Google utilise aussi des cookies publicitaires pour afficher des annonces personnalisées. Si vous les refusez, vous voyez toujours des annonces, mais elles ne sont pas personnalisées.