Présentationpar DevBlog9 diapositives
HTTP et en-têtes de sécurité
Comment fonctionne une requête HTTP, et quels en-têtes de réponse protègent votre site : CSP, HSTS, X-Frame-Options, COOP, CORP.
- #http
- #securite
- #headers
- #presentation
HTTP et en-têtes de sécurité
Quelques lignes de configuration, beaucoup de protection.
Une requête HTTP
GET /articles/csp-pas-a-pas HTTP/1.1
Host: devblog.example
Accept: text/htmlHTTP/1.1 200 OK
Content-Type: text/html; charset=utf-8
Content-Security-Policy: default-src 'self'Les en-têtes de réponse donnent des consignes au navigateur.
Les statuts à connaître
| Code | Sens |
|---|---|
| 200 | Succès |
| 301 / 302 | Redirection |
| 404 | Introuvable |
| 500 | Erreur serveur |
Un « soft 404 » renvoie une page d'erreur avec un statut 200 : à éviter.
Content-Security-Policy
Liste les origines autorisées pour scripts, images, polices…
default-src 'self'; object-src 'none'; frame-ancestors 'none'Limite l'impact d'une injection XSS.
Strict-Transport-Security
Force le navigateur à n'utiliser que HTTPS.
Strict-Transport-Security: max-age=63072000; includeSubDomains; preloadProtège contre le downgrade vers HTTP.
Anti-clickjacking
X-Frame-Options: DENY
Content-Security-Policy: frame-ancestors 'none'Votre page ne peut pas être affichée dans une iframe d'un autre site.
Autres en-têtes utiles
| En-tête | Effet |
|---|---|
X-Content-Type-Options: nosniff | Interdit le MIME sniffing |
Referrer-Policy | Limite les fuites d'URL |
Permissions-Policy | Coupe les API sensibles |
Cross-Origin-Opener-Policy | Isole la fenêtre |
Cross-Origin-Resource-Policy | Limite l'usage de vos ressources |
Vérifier
curl -sI https://votre-site.exampleEt un test automatisé qui contrôle chaque en-tête à chaque build.
À retenir
- Les en-têtes sont une défense en profondeur
- Commencez par CSP, HSTS et nosniff
- Vérifiez-les automatiquement
1 / 9
Flèches ← → pour naviguer · F pour le plein écran