Catégorie: Développement
Générateur de CSP
Construisez un en-tête Content-Security-Policy à partir de directives
Définissez la liste de sources de chaque directive Content-Security-Policy — default-src, script-src, style-src et bien d'autres — et obtenez la valeur d'en-tête finale ainsi qu'un tableau lisible de ce que chaque directive autorise. Le tout construit localement dans votre navigateur.
| Directive | Sources |
|---|---|
default-src | 'self' |
script-src | 'self' |
style-src | 'self' 'unsafe-inline' |
img-src | 'self' data: |
font-src | 'self' |
connect-src | 'self' |
frame-ancestors | 'none' |
object-src | 'none' |
base-uri | 'self' |
form-action | 'self' |
upgrade-insecure-requests | — |
default-src 'self'; script-src 'self'; style-src 'self' 'unsafe-inline'; img-src 'self' data:; font-src 'self'; connect-src 'self'; frame-ancestors 'none'; object-src 'none'; base-uri 'self'; form-action 'self'; upgrade-insecure-requests;
Tout sur cette page est traité dans votre navigateur. Rien n'est envoyé.
À quoi sert cet outil
Un en-tête Content-Security-Policy indique au navigateur quelles sources de scripts, styles, images et autres ressources une page est autorisée à charger ; c'est l'une des défenses les plus efficaces contre les attaques de type cross-site scripting. Chaque directive prend une liste de sources séparées par des espaces, telle que 'self', 'unsafe-inline', https: ou un domaine précis, et en respecter la syntaxe à la main est fastidieux. Cet outil construit l'en-tête à partir d'un champ par directive et affiche la même politique sous forme de tableau afin que vous puissiez vérifier ce que vous autorisez réellement avant de la déployer.
Mode d'emploi
- Définissez la liste de sources pour chaque directive que vous souhaitez restreindre.
- Activez upgrade-insecure-requests ou block-all-mixed-content si besoin.
- Vérifiez le tableau des directives, puis copiez la valeur de l'en-tête.
- Envoyez-la comme en-tête de réponse Content-Security-Policy, ou commencez par Content-Security-Policy-Report-Only pendant les tests.
Confidentialité
Cet outil fonctionne entièrement dans votre navigateur. Ce que vous saisissez n'est jamais envoyé, stocké ni partagé : fermer l'onglet suffit à tout effacer.
Questions fréquentes
- Que signifie une directive laissée vide ?
- Une directive laissée vide ici est complètement omise de l'en-tête, ce qui signifie généralement qu'elle retombe sur default-src. Définissez d'abord default-src sur une base raisonnable telle que 'self'.
- Dois-je d'abord tester avec Report-Only ?
- Oui — envoyer la même valeur d'en-tête sous Content-Security-Policy-Report-Only permet de voir ce que la politique aurait bloqué, via la console du navigateur ou un report-uri, sans casser la page pendant que vous l'ajustez.
- La politique est-elle envoyée quelque part pour être construite ?
- Non. La chaîne d'en-tête est assemblée à partir de votre saisie directement dans le navigateur.