Les en-têtes de sécurité sont des instructions que votre serveur remet à chaque navigateur : « charge cette page uniquement en HTTPS », « ne m’intègre pas dans un cadre étranger », « n’exécute aucun script de domaines inconnus ». Ils ne coûtent rien, n’exigent aucun code dans la page et ferment des classes entières d’attaques. La plupart des sites n’en ont pourtant qu’un ou deux.
Vérifier
Saisissez l’URL dans le vérificateur d’en-têtes HTTP : il liste tous les en-têtes de réponse, explique chaque en-tête de sécurité et attribue une note de A à F. Dans le navigateur aussi : outils de développement → Réseau → document → en-têtes de réponse.
Les six qui comptent
| En-tête | Protège contre | Valeur recommandée |
|---|---|---|
| Strict-Transport-Security | Rétrogradation en HTTP, vol de cookies | max-age=31536000; includeSubDomains |
| Content-Security-Policy | XSS, scripts étrangers | Liste blanche de vos sources ; commencer en -Report-Only |
| X-Frame-Options | Clickjacking | SAMEORIGIN (ou CSP frame-ancestors) |
| X-Content-Type-Options | MIME sniffing | nosniff |
| Referrer-Policy | Fuite d’URL vers des tiers | strict-origin-when-cross-origin |
| Permissions-Policy | Accès non voulus à la caméra, au micro, à la position | camera=(), microphone=(), geolocation=() |
Configurer les en-têtes de sécurité
Apache (.htaccess)
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 "strict-origin-when-cross-origin"
Header always set Permissions-Policy "camera=(), microphone=(), geolocation=()" Nginx
add_header Strict-Transport-Security "max-age=31536000; includeSubDomains" always;
add_header X-Frame-Options "SAMEORIGIN" always;
add_header X-Content-Type-Options "nosniff" always;
add_header Referrer-Policy "strict-origin-when-cross-origin" always; WordPress sans accès serveur
add_action( 'send_headers', function () {
header( 'X-Frame-Options: SAMEORIGIN' );
header( 'X-Content-Type-Options: nosniff' );
header( 'Referrer-Policy: strict-origin-when-cross-origin' );
} ); CSP : l’en-tête qui casse les sites
Une Content-Security-Policy trop stricte bloque Analytics, les polices et les widgets de paiement. D’où la méthode : d’abord Content-Security-Policy-Report-Only, une semaine à collecter les violations dans la console du navigateur, compléter les sources, puis activer. Pour WordPress avec Elementor et GTM, une politique avec des domaines explicites pour les scripts et les styles est réaliste ; unsafe-inline pour les styles est généralement inévitable.
Questions fréquentes
Les en-têtes de sécurité apportent-ils un gain SEO ?
Pas directement. HSTS et HTTPS sont toutefois indispensables au cadenas et à la confiance.
HSTS peut-il bloquer mon site ?
Si le HTTPS casse, oui : les navigateurs refusent alors le HTTP. Testez d’abord avec un max-age court (300), puis augmentez.
Une extension suffit-elle ?
Oui, si elle définit les six. Vérifiez quand même le résultat avec le vérificateur d’en-têtes ; les extensions de cache suppriment parfois des en-têtes.
Gratuit, fonctionne dans votre navigateur, rien n’est envoyé, sans inscription.
Continuer la lecture
Plus de Outils développeur et code.


