Content Security Policy (CSP) : guide complet pour WordPress

Dans cet article, nous allons expliquer qu’est ce que l’en tête CSP (Content Security Policy) et comment la mettre en place sur votre site WordPress.
content security policy (csp)
Table des matières

Sécuriser un site WordPress ne se limite pas à installer des plugins ou faire des mises à jour régulières. Il existe aussi des mécanismes plus avancés, souvent sous-exploités, comme les headers HTTP de sécurité.

Parmi eux, la Content Security Policy (CSP) est l’un des plus puissants.

👉 Elle permet de contrôler précisément quelles ressources votre site est autorisé à charger, et ainsi de bloquer de nombreuses attaques, notamment les injections de scripts malveillants (XSS).

Dans cet article, vous allez découvrir :

  • ce qu’est une CSP
  • pourquoi elle est essentielle
  • comment la mettre en place facilement sur WordPress

Qu’est-ce qu’une Content Security Policy (CSP) ?

La Content Security Policy (CSP) est une règle de sécurité définie via un header HTTP qui indique au navigateur quelles ressources sont autorisées à être chargées.

👉 En d’autres termes, vous définissez une liste blanche de sources fiables.

Sans CSP :

  • le navigateur exécute tout le code reçu
  • même s’il est malveillant

Avec CSP :

  • seules les ressources autorisées sont exécutées
  • tout le reste est bloqué automatiquement

🎯 Objectif : empêcher l’exécution de code injecté par un attaquant.

Pourquoi utiliser une CSP sur votre site WordPress ?

Mettre en place une Content Security Policy permet d’ajouter une couche de sécurité supplémentaire, directement côté navigateur.

Se protéger contre les attaques XSS

Les attaques Cross-Site Scripting (XSS) sont parmi les plus fréquentes sur le web.

👉 Elles consistent à injecter du JavaScript malveillant dans votre site.

Une CSP permet de :

  • bloquer les scripts inconnus
  • empêcher leur exécution

Réduire la surface d’attaque

Une CSP limite les sources externes autorisées :

  • scripts
  • images
  • styles
  • polices

👉 Moins votre site dépend de ressources externes, moins il est vulnérable.

Bloquer les comportements suspects

Une bonne configuration CSP permet aussi de :

  • empêcher le chargement de contenus non sécurisés
  • limiter certaines attaques avancées
  • contrôler les connexions vers des API externes

Surveiller les tentatives d’intrusion

Avec le mode reporting, vous pouvez :

  • détecter les violations de sécurité
  • analyser les comportements anormaux

👉 C’est un excellent outil pour améliorer progressivement votre configuration.

Comment fonctionne une CSP ?

La CSP fonctionne grâce à un header envoyé par votre serveur au navigateur.

Exemple simple :

Content-Security-Policy: default-src 'self'; script-src 'self';

👉 Cela signifie :

  • seules les ressources provenant de votre domaine sont autorisées
  • seuls vos scripts peuvent être exécutés

Le navigateur applique ensuite ces règles automatiquement :

  • il autorise ce qui est conforme
  • il bloque tout le reste

Les principales directives CSP

Une Content Security Policy est composée de directives.

Voici les plus importantes à connaître :

default-src

Définit la règle par défaut pour toutes les ressources

script-src

Contrôle les scripts JavaScript

style-src

Contrôle les fichiers CSS

img-src

Définit les sources autorisées pour les images

connect-src

Autorise les requêtes vers des API (AJAX, fetch…)

font-src

Contrôle les polices

object-src

Permet de bloquer les contenus intégrés (Flash, plugins…)

👉 Ces directives vous permettent de contrôler finement le comportement de votre site.

Exemple de Content Security Policy

Voici une configuration simple pour débuter :

Content-Security-Policy:
default-src 'self';
script-src 'self';
style-src 'self';
img-src https:;

👉 Cette configuration :

  • autorise les scripts et styles locaux
  • autorise les images en HTTPS
  • bloque tout le reste

Comment mettre en place une CSP sur WordPress ?

Il existe plusieurs méthodes pour ajouter une Content Security Policy à votre site.

Via le fichier .htaccess (Apache)

Header set Content-Security-Policy "default-src 'self'; script-src 'self';"

Via Nginx

add_header Content-Security-Policy "default-src 'self';";

Via un plugin WordPress

Si vous ne souhaitez pas modifier les fichiers serveur, l’utilisation d’un plugin est la solution la plus simple.

Avec SecuriCheck Pro, vous pouvez activer les headers de sécurité, dont la CSP, en cochant simplement une case.

👉 Avantages :

  • aucune configuration technique
  • mise en place rapide
  • réduction des erreurs

C’est la solution idéale pour sécuriser votre site efficacement sans risque de mauvaise configuration.

Utiliser le mode “Report-Only” (recommandé)

Avant d’appliquer une CSP stricte, il est fortement conseillé de tester votre configuration.

Content-Security-Policy-Report-Only

👉 Ce mode permet :

  • d’identifier les ressources bloquées
  • d’éviter de casser votre site
  • d’ajuster progressivement les règles

Les limites de la CSP

Même si elle est très efficace, la Content Security Policy a certaines limites.

À garder en tête :

  • elle ne remplace pas les bonnes pratiques de sécurité
  • une mauvaise configuration peut bloquer des fonctionnalités
  • WordPress utilise souvent des scripts inline (plus complexes à gérer)

👉 Il est donc important de la déployer progressivement et de tester chaque modification.

Conclusion

La Content Security Policy (CSP) est un outil incontournable pour renforcer la sécurité de votre site WordPress.

Elle permet :

  • de bloquer les scripts malveillants
  • de contrôler les ressources chargées
  • de réduire significativement les risques d’attaque

Bien configurée, elle agit comme un véritable pare-feu côté navigateur.

👉 Associée à d’autres bonnes pratiques, elle devient un élément clé d’une stratégie de sécurité efficace.

articles securicheck

Retrouvez tous nos tutoriels et astuces. Nous vous aidons à sécuriser votre site Internet WordPress. N’hésitez pas à nous contacter pour toute question ou demande.

Securicheck Pro
Le Plugin WordPress qui sécurise votre site en un clic !