En-têtes de sécurité pour Cloudflare Pages et sites React
Comment utiliser les en-têtes de sécurité, les métadonnées canoniques et la vérification des réponses pour réduire les risques côté navigateur sur des déploiements React statiques.
Points clés
- Les en-têtes de sécurité doivent être traités comme de la configuration de déploiement, pas comme de simples commentaires de code.
- Cloudflare Pages prend en charge des règles d’en-têtes statiques testables avant publication.
- Wildcard CORS est généralement trop large pour des réponses statiques publiques sans cas cross-origin précis.
Le jeu d’en-têtes de base
Un site React durci doit définir explicitement le comportement du navigateur. La politique exacte dépend de l’application, mais la base inclut souvent la protection du type de contenu, la protection contre le clickjacking, le contrôle referrer, permissions policy et une content security policy soigneusement choisie.
Les hébergeurs statiques font oublier ce point, car l’application rend quand même sans en-têtes. Le travail de sécurité doit être vérifié au niveau de la réponse HTTP.
Points d’attention Cloudflare Pages
- Gardez les règles d’en-têtes près du dépôt lorsque possible afin que les changements soient revus avec le code.
- Évitez les changements uniquement dans le dashboard sans documentation, car ils sont plus difficiles à auditer ensuite.
- Vérifiez les domaines www et apex si les deux sont servis.
- Contrôlez que les redirections ne retirent pas les en-têtes importants de la réponse finale.
CORS doit être intentionnel
Access-Control-Allow-Origin: * est souvent copié sans raison. Pour des pages web normales, un CORS large n’aide généralement pas les visiteurs et peut faciliter une exposition accidentelle si de futurs endpoints sont ajoutés sous la même politique.
Ce qu’il faut automatiser
- Un test qui refuse wildcard CORS dans la configuration d’en-têtes statiques.
- Une étape de build qui publie sitemap et robots.
- Un contrôle preview confirmant que les pages critiques rendent et que les métadonnées existent.
- Un contrôle de réponse live après déploiement pour les domaines de production.