Générateur de Content Security Policy (CSP)

Construisez une directive Content-Security-Policy, exportez-la en en-tête, balise meta, config Nginx ou Apache, avec avertissements sur les réglages dangereux.

En-tête de réponse HTTP
Content-Security-Policy: default-src 'self'; script-src 'self'; style-src 'self'; img-src 'self' data:; connect-src 'self'; font-src 'self'; object-src 'none'; base-uri 'self'; form-action 'self'; frame-ancestors 'none'; upgrade-insecure-requests
Évaluation de la politique
Les vérifications intégrées n’ont trouvé aucun problème.
Balise HTML <meta>
<meta http-equiv="Content-Security-Policy" content="default-src 'self'; script-src 'self'; style-src 'self'; img-src 'self' data:; connect-src 'self'; font-src 'self'; object-src 'none'; base-uri 'self'; form-action 'self'; upgrade-insecure-requests">
frame-ancestors, report-uri, report-to et sandbox sont ignorés dans une balise <meta> ; ils en ont donc été retirés – envoyez l’en-tête HTTP pour les utiliser.
Nginx
add_header Content-Security-Policy "default-src 'self'; script-src 'self'; style-src 'self'; img-src 'self' data:; connect-src 'self'; font-src 'self'; object-src 'none'; base-uri 'self'; form-action 'self'; frame-ancestors 'none'; upgrade-insecure-requests" always;
Apache (.htaccess)
Header always set Content-Security-Policy "default-src 'self'; script-src 'self'; style-src 'self'; img-src 'self' data:; connect-src 'self'; font-src 'self'; object-src 'none'; base-uri 'self'; form-action 'self'; frame-ancestors 'none'; upgrade-insecure-requests"
Importer une politique existante
Commencez en mode rapport seul (Content-Security-Policy-Report-Only) et surveillez la console du navigateur avant d’appliquer une nouvelle politique. Les vérifications sont statiques et s’inspirent des règles courantes des évaluateurs CSP ; elles ne voient pas les scripts réels de vos pages.

Qu'est-ce que Générateur CSP ?

Ce générateur CSP vous aide à écrire une Content-Security-Policy qui restreint les origines d'où peuvent être chargés scripts, styles, images, frames et autres ressources. Il part d'une politique stricte, vous laisse modifier chaque directive et évalue le résultat en direct, en avertissant des faiblesses comme 'unsafe-inline', les sources de script génériques, object-src ou base-uri manquants et les mots-clés sans guillemets. Vous pouvez aussi importer une politique existante.

Comment utiliser Générateur CSP

  1. Partez de la politique de départ Stricte ou choisissez Tout effacer.
  2. Modifiez les sources de chaque directive, par ex. 'self' https://cdn.example.com.
  3. Activez upgrade-insecure-requests et ajoutez un report-uri si besoin.
  4. Lisez l'évaluation de la politique et corrigez les constats de gravité élevée et moyenne.
  5. Copiez la politique en en-tête HTTP, balise meta, ligne Nginx ou Apache ; ou importez une politique existante pour l'analyser.

Exemple

Entrée
Strict starter policy
Sortie
Content-Security-Policy: default-src 'self'; script-src 'self'; style-src 'self'; img-src 'self' data:; connect-src 'self'; font-src 'self'; object-src 'none'; base-uri 'self'; form-action 'self'; frame-ancestors 'none'; upgrade-insecure-requests

Quand utiliser Générateur CSP

Utilisez-le pour rédiger ou relire une CSP avant de la déployer. Déployez les nouvelles politiques d'abord avec Content-Security-Policy-Report-Only et surveillez les violations : une politique stricte cassera les scripts inline et les widgets tiers que vous avez oublié d'autoriser. Les contrôles sont statiques et ne voient pas quels scripts vos pages chargent réellement.

Comment fonctionne Générateur CSP

Les directives sont sérialisées dans un ordre fixe sous la forme nom source source; …, en ignorant celles qui sont vides. L'évaluation applique des règles statiques proches du CSP Evaluator de Google : les mots-clés comme self ou none doivent être entre guillemets ; script-src (ou default-src en repli) sans nonce/hash contenant 'unsafe-inline', 'unsafe-eval', *, http:, https: ou data: est signalé ; object-src devrait valoir 'none' ; base-uri, frame-ancestors et form-action devraient être définis. La version balise meta omet frame-ancestors, report-uri, report-to et sandbox, que les navigateurs ignorent dans les balises meta.

Cas d'utilisation courants

  • Créer une première CSP stricte pour un nouveau site.
  • Auditer une politique copiée depuis la production à la recherche de 'unsafe-inline' et de jokers.
  • Ajouter correctement un hôte d'analytique ou de CDN à script-src.
  • Obtenir la ligne add_header Nginx exacte pour une politique.

Questions Fréquentes

Pourquoi 'unsafe-inline' est-il un problème ?

Il autorise n'importe quel script inline, y compris un script injecté par une faille XSS, ce qui annule l'objectif principal de la CSP. Utilisez plutôt des nonces ou des hachages.

En-tête ou balise meta ?

Préférez l'en-tête HTTP. Une balise meta ne peut pas utiliser frame-ancestors, report-uri ni sandbox, et ne s'applique qu'au contenu qui la suit.

Comment tester sans casser mon site ?

Envoyez la même politique en Content-Security-Policy-Report-Only ; les navigateurs signalent les violations dans la console sans rien bloquer.

Explorer d'autres catégories