Guide · 3 min de lecture

Content-Security-Policy sans casser votre site

Une CSP indique au navigateur à quelles sources de scripts, de styles et d’images faire confiance. C’est votre meilleure défense contre les scripts injectés et les skimmers de cartes, et elle récompense un déploiement soigné.

Mis à jour le · HackGrade

Le code et la configuration restent en anglais.

1. Commencez en mode rapport seul

Le navigateur signale les violations dans la console, mais ne bloque rien.

nginx
add_header Content-Security-Policy-Report-Only "default-src 'self'; img-src 'self' data: https:; script-src 'self'; style-src 'self' 'unsafe-inline'; frame-ancestors 'self'; object-src 'none'; base-uri 'self'" always;

2. Parcourez votre site et lisez la console

Ouvrez DevTools → Console sur vos pages clés (accueil, une fiche produit, le panier et le paiement, le formulaire de contact). Chaque source bloquée y apparaît. Ajoutez celles en qui vous avez confiance, comme https://www.googletagmanager.com ou votre prestataire de paiement, à la directive correspondante.

3. Appliquez

Quand la console est calme, renommez l’en-tête en Content-Security-Policy. Gardez l’en-tête de rapport seul à côté pendant que vous testez une version plus stricte.

.htaccess
Header always set Content-Security-Policy "default-src 'self'; img-src 'self' data: https:; script-src 'self' https://www.googletagmanager.com; style-src 'self' 'unsafe-inline'; frame-ancestors 'self'; object-src 'none'; base-uri 'self'"

Conseils pour WordPress

  • Beaucoup de thèmes et d’extensions utilisent des scripts inline. Au début, vous aurez peut-être besoin de 'unsafe-inline' dans script-src. C’est moins protecteur, mais frame-ancestors, object-src et base-uri restent utiles.
  • Pour une politique stricte, utilisez des nonces : WordPress 5.7+ peut ajouter des attributs aux scripts affichés avec wp_print_inline_script_tag().
  • Mettez d’abord une CSP stricte sur votre paiement, là où elle compte le plus.

Directives utiles

  • frame-ancestors 'self' : le remplaçant moderne de X-Frame-Options.
  • upgrade-insecure-requests : fait passer automatiquement les ressources http:// en https://.
  • connect-src : limite les destinations vers lesquelles les scripts peuvent envoyer des données, utile contre les skimmers.

Sources

Guides associés

Gratuit · Immédiat · Sans inscription

Découvrez votre note avant quelqu’un d’autre.

Analyse passive. Rien n’est attaqué sans votre autorisation.

Gratuit pour commencer. Offres payantes dès 12 $ par mois, ou un rapport unique à 29 $. Voir les tarifs