
Les en-têtes de sécurité (Security Headers) sont une protection souvent négligée, mais pourtant essentielle pour votre site WordPress.
Qu’est-ce qu’un Security Header ?
Lorsqu’un visiteur accède à votre site, son navigateur échange des informations avec votre serveur.
Les Security Headers sont des instructions discrètes qui accompagnent chaque réponse du serveur.
Elles indiquent au navigateur comment se comporter pour mieux protéger votre site et vos visiteurs.
Imaginez-les comme des règles de sécurité placées à l’entrée d’un bâtiment : elles n’empêchent pas l’accès, mais elles empêchent certains comportements dangereux.
Pourquoi sont-ils importants ?
Sans Security Headers, votre site est plus exposé à :
- des attaques XSS (Cross-Site Scripting)
- le clickjacking (pièges de clics)
- les injections de code malveillant
- la fuite d’informations sensibles
C’est une couche de sécurité simple mais puissante, que l’on peut activer en quelques minutes.
Les principaux Security Headers à connaître.
1. Content-Security-Policy (CSP)
But : Bloquer les scripts non autorisés (anti-XSS).
Exemple :Content-Security-Policy: default-src 'self'; script-src 'self' https://trusted-scripts.com;
2. X-XSS-Protection
But : Activer la protection XSS du navigateur.
Exemple :X-XSS-Protection: 1; mode=block
3. X-Frame-Options
But : Empêcher l’affichage du site dans une iframe externe (anti clickjacking).
Exemple :X-Frame-Options: SAMEORIGIN
4. X-Content-Type-Options
But : Forcer les navigateurs à respecter le type de fichier.
Exemple :X-Content-Type-Options: nosniff
5. Referrer-Policy
But : Contrôler les données de provenance envoyées avec les liens sortants.
Exemple :Referrer-Policy: strict-origin-when-cross-origin
6. Strict-Transport-Security (HSTS)
But : Forcer le chargement en HTTPS.
Exemple :Strict-Transport-Security: max-age=31536000; includeSubDomains; preload
7. Permissions-Policy
But : Gérer les permissions d’accès au micro, à la caméra, etc.
Exemple :Permissions-Policy: camera=(), microphone=(), geolocation=()
Comment les mettre en place sur WordPress ?
1. Via un plugin (facile pour débutant).
Plugins recommandés :
- Sucuri Security
- Really Simple SSL
- WP Headers and Security
Ces plugins permettent d’activer facilement les principaux headers via une interface simple.
2. Via le fichier .htaccess (se trouve à la racine du ftp).
Ajoutez ce bloc à la fin de ton .htaccess
ou juste avant #End WordPress:
<IfModule mod_headers.c> Header unset ETag Header always set Content-Security-Policy "upgrade-insecure-requests" Header always set Strict-Transport-Security "max-age=31536000; includeSubDomains" Header always set X-Frame-Options "SAMEORIGIN" Header always set X-Content-Type-Options "nosniff" Header always set Referrer-Policy "same-origin" Header always set Permissions-Policy "geolocation=(), midi=(), notifications=(), push=(), sync-xhr=(), accelerometer=(), gyroscope=(), magnetometer=(), payment=(), camera=(), microphone=(), usb=(), xr=(), speaker=(self), vibrate=(), fullscreen=(self)" Header always set X-XSS-Protection "1; mode=block" </IfModule>
3. Via functions.php (avancé).
function add_security_headers() { header('Strict-Transport-Security: max-age=31536000; includeSubDomains; preload'); header('X-XSS-Protection: 1; mode=block'); header('X-Frame-Options: SAMEORIGIN'); header('X-Content-Type-Options: nosniff'); header('Referrer-Policy: strict-origin-when-cross-origin'); header('Permissions-Policy: camera=(), microphone=(), geolocation=()'); } add_action('send_headers', 'add_security_headers');
Comment tester si les headers sont actifs ?
Outils gratuits :
Ou via votre navigateur :
- Ouvrez les outils développeur (F12)
- Onglet Réseau > Cliquez sur le premier fichier > Volet « Headers »
- Vérifiez les headers dans la section « Response headers »
Activer les Security Headers sur WordPress :
- C’est rapide
- C’est gratuit
- Et ça renforce grandement la sécurité de ton site 🔐
Ils ne remplacent pas les autres bonnes pratiques (mises à jour, mots de passe forts…), mais ils ajoutent une barrière précieuse contre les attaques.
Besoin d’aide pour les mettre en place sur votre site ? 💬 Contactez-moi, je peux m’en charger pour vous !