Générateur d'en-têtes de sécurité HTTP (CSP, HSTS)

Cochez les en-têtes voulus et copiez la configuration pour Nginx, Express, Vercel ou Apache, prête à déployer.

En-têtes de sécurité HTTP : valeurs générées et configuration

L'outil produit un bloc de configuration pour Nginx, Express, Vercel ou Apache avec jusqu'à six en-têtes : HSTS d'un an avec preload, une politique CSP de base, X-Frame-Options (DENY ou SAMEORIGIN), X-Content-Type-Options nosniff, Referrer-Policy strict-origin-when-cross-origin et Permissions-Policy qui coupe caméra, micro et géolocalisation. Ces valeurs suivent les spécifications en vigueur mais restent moins strictes que la liste de référence de l'OWASP.

En-têtes générés

En-têteValeur généréeEffet
Strict-Transport-Securitymax-age=31536000; includeSubDomains; preloadHTTPS imposé 1 an (31 536 000 s), sous-domaines compris
Content-Security-Policydefault-src 'self'; script-src 'self' 'unsafe-inline'; style-src 'self' 'unsafe-inline'; img-src 'self' data: https:;sources autorisées pour scripts, styles et images
X-Frame-OptionsDENY ou SAMEORIGINprotection contre le clickjacking
X-Content-Type-Optionsnosniffpas de détection du type MIME
Referrer-Policystrict-origin-when-cross-originseule l'origine part vers les autres sites
Permissions-Policycamera=(), microphone=(), geolocation=()caméra, micro et géolocalisation désactivés

Exemple (Nginx, DENY)

Chaque ligne prend la forme suivante ; le mot-clé always ajoute l'en-tête aussi aux réponses d'erreur :

add_header X-Frame-Options "DENY" always;
add_header X-Content-Type-Options "nosniff" always;

Limites du code généré

  • Referrer-Policy n'est pas réglable.
  • La CSP autorise 'unsafe-inline' pour les scripts, ce qui affaiblit la protection contre le XSS ; des nonces ou des empreintes sont plus sûrs.
  • La directive preload vient de hstspreload.org et non de la RFC 6797 : l'inscription exige un max-age ≥ 31 536 000, includeSubDomains et HTTPS sur tous les sous-domaines, et un retrait prend des mois.

La liste OWASP mise à jour le 04/10/2026 va plus loin : HSTS de 2 ans (63 072 000 s) sans preload, Referrer-Policy no-referrer, X-Frame-Options deny. MDN rappelle que la directive CSP frame-ancestors offre plus d'options que X-Frame-Options et que strict-origin-when-cross-origin est la politique par défaut des navigateurs depuis la révision de novembre 2020 du standard Fetch.

Sources et dates : RFC 6797, HSTS (novembre 2012) ; conditions de hstspreload.org ; OWASP Secure Headers, liste de référence (04/10/2026) ; MDN, X-Frame-Options et Referrer-Policy (vérifié le 14/10/2026).

Questions fréquentes

Quelle valeur de max-age choisir pour l'en-tête HSTS ?

L'outil utilise 31 536 000 secondes, soit un an, le minimum exigé pour la liste de préchargement hstspreload.org avec includeSubDomains et preload. L'OWASP recommande 63 072 000 secondes (2 ans). Selon la RFC 6797, un max-age=0 demande au navigateur d'oublier la politique HSTS du site.

Faut-il utiliser X-Frame-Options ou la directive CSP frame-ancestors ?

Les deux bloquent l'affichage de vos pages dans une iframe tierce. DENY interdit tout cadre, SAMEORIGIN n'autorise que votre propre domaine. MDN indique que frame-ancestors offre plus d'options, et que la valeur ALLOW-FROM de X-Frame-Options est obsolète : les navigateurs récents ignorent alors l'en-tête entier.

Pourquoi 'unsafe-inline' affaiblit-il la Content-Security-Policy ?

Avec 'unsafe-inline' dans script-src, tout script écrit directement dans la page s'exécute, y compris un script injecté par une faille XSS. L'outil l'inclut pour ne pas casser les sites qui en contiennent. Pour une protection réelle, remplacez-le par des nonces ou des empreintes SHA-256 des scripts autorisés.

Quelle Referrer-Policy choisir ?

L'outil fixe strict-origin-when-cross-origin : URL complète vers votre propre site, origine seule vers les autres sites en HTTPS, rien vers un site en HTTP. C'est la valeur par défaut des navigateurs depuis la révision de novembre 2020 du standard Fetch. L'OWASP préconise no-referrer, qui n'envoie rien du tout.

L'outil est-il vraiment gratuit ?

Oui, l'intégralité des outils sur Kristools sont 100% gratuits et accessibles sans inscription.

Mes données sont-elles protégées ?

Oui. Tous les traitements sont effectués directement et en toute sécurité dans votre navigateur. Aucune donnée personnelle n'est envoyée vers nos serveurs.