{"id":26,"date":"2026-07-02T19:04:52","date_gmt":"2026-07-02T17:04:52","guid":{"rendered":"https:\/\/etiennemotara.fr\/?p=26"},"modified":"2026-07-02T19:13:55","modified_gmt":"2026-07-02T17:13:55","slug":"activer-hsts-sur-apache-le-guide-complet","status":"publish","type":"post","link":"https:\/\/etiennemotara.fr\/index.php\/2026\/07\/02\/activer-hsts-sur-apache-le-guide-complet\/","title":{"rendered":"<h1 id=\"activer-hsts-sur-apache-le-guide-complet\">Activer HSTS sur Apache : le guide complet<\/h1>"},"content":{"rendered":"\n<p class=\"wp-block-paragraph\">HSTS (<strong>HTTP Strict Transport Security<\/strong>) est un en-t\u00eate de r\u00e9ponse HTTP qui force le navigateur \u00e0 ne communiquer avec ton site <strong>qu\u2019en HTTPS<\/strong>, pendant une dur\u00e9e que tu d\u00e9finis. Une fois l\u2019en-t\u00eate re\u00e7u, le navigateur m\u00e9morise l\u2019instruction et refuse toute connexion en HTTP clair vers ton domaine, m\u00eame si l\u2019utilisateur tape <code>http:\/\/<\/code> ou clique sur un vieux lien.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">C\u2019est une brique de s\u00e9curit\u00e9 simple \u00e0 mettre en place, gratuite, et l\u2019une des premi\u00e8res choses qu\u2019on v\u00e9rifie lors d\u2019un audit de site.<\/p>\n\n\n\n<hr class=\"wp-block-separator has-alpha-channel-opacity\"\/>\n\n\n\n<h2 class=\"wp-block-heading\">Pourquoi HSTS, alors que j\u2019ai d\u00e9j\u00e0 une redirection HTTP \u2192 HTTPS ?<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">Bonne question, et c\u2019est le point que la plupart des gens ratent.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Une redirection Apache (<code>RewriteRule<\/code> ou <code>Redirect<\/code> vers <code>https:\/\/<\/code>) prot\u00e8ge <strong>mal<\/strong> contre une attaque active. Le sc\u00e9nario du probl\u00e8me :<\/p>\n\n\n\n<ol class=\"wp-block-list\">\n<li>L\u2019utilisateur tape <code>etiennemotara.fr<\/code> dans son navigateur \u2192 par d\u00e9faut, le navigateur tente <code>http:\/\/<\/code> en premier.<\/li>\n\n\n\n<li>Cette <strong>premi\u00e8re requ\u00eate part en clair<\/strong> sur le r\u00e9seau.<\/li>\n\n\n\n<li>Un attaquant positionn\u00e9 sur le r\u00e9seau (Wi-Fi public, box compromise, etc.) intercepte cette requ\u00eate avant m\u00eame qu\u2019elle atteigne ton serveur, et n\u2019envoie jamais la redirection \u2014 il sert sa propre version du site ou reste en HTTP pour espionner.<\/li>\n<\/ol>\n\n\n\n<p class=\"wp-block-paragraph\">C\u2019est l\u2019attaque dite <strong>SSL stripping<\/strong>. Ta redirection ne sert \u00e0 rien parce que l\u2019attaquant intercepte la requ\u00eate <em>avant<\/em> qu\u2019elle arrive \u00e0 ton Apache.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">HSTS ferme cette fen\u00eatre : apr\u00e8s la premi\u00e8re visite l\u00e9gitime, le navigateur <strong>ne tente plus jamais<\/strong> de connexion HTTP vers ton domaine. Il passe directement en HTTPS, sans requ\u00eate en clair \u00e0 intercepter.<\/p>\n\n\n\n<blockquote class=\"wp-block-quote is-layout-flow wp-block-quote-is-layout-flow\">\n<p class=\"wp-block-paragraph\"><strong>Nuance importante :<\/strong> HSTS ne prot\u00e8ge pas la toute premi\u00e8re visite (avant que le navigateur ait re\u00e7u l\u2019en-t\u00eate). Pour couvrir m\u00eame ce premier contact, il existe le m\u00e9canisme de <strong>preloading<\/strong>, d\u00e9taill\u00e9 plus bas.<\/p>\n<\/blockquote>\n\n\n\n<hr class=\"wp-block-separator has-alpha-channel-opacity\"\/>\n\n\n\n<h2 class=\"wp-block-heading\">Pr\u00e9requis<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">Avant d\u2019activer HSTS, ces trois conditions doivent \u00eatre remplies :<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li><strong>HTTPS fonctionne parfaitement<\/strong> sur ton domaine (certificat valide, cha\u00eene compl\u00e8te).<\/li>\n\n\n\n<li>Tu as une <strong>redirection HTTP \u2192 HTTPS<\/strong> en place (HSTS la compl\u00e8te, ne la remplace pas).<\/li>\n\n\n\n<li><strong>Tous tes sous-domaines<\/strong> sont accessibles en HTTPS si tu comptes utiliser l\u2019option <code>includeSubDomains<\/code>.<\/li>\n<\/ul>\n\n\n\n<p class=\"wp-block-paragraph\">Ce dernier point est critique : activer <code>includeSubDomains<\/code> alors qu\u2019un sous-domaine (<code>api.<\/code>, <code>blog.<\/code>, <code>dev.<\/code>\u2026) n\u2019est disponible qu\u2019en HTTP le rendra <strong>totalement inaccessible<\/strong> dans les navigateurs qui ont re\u00e7u l\u2019en-t\u00eate. Et vu que HSTS est m\u00e9moris\u00e9 pour la dur\u00e9e du <code>max-age<\/code>, l\u2019erreur est difficile \u00e0 corriger vite.<\/p>\n\n\n\n<hr class=\"wp-block-separator has-alpha-channel-opacity\"\/>\n\n\n\n<h2 class=\"wp-block-heading\">L\u2019en-t\u00eate et ses directives<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">L\u2019en-t\u00eate complet ressemble \u00e0 \u00e7a :<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>Strict-Transport-Security: max-age=31536000; includeSubDomains; preload<\/code><\/pre>\n\n\n\n<p class=\"wp-block-paragraph\">Trois directives :<\/p>\n\n\n\n<figure class=\"wp-block-table\"><table class=\"has-fixed-layout\"><thead><tr><th>Directive<\/th><th>R\u00f4le<\/th><\/tr><\/thead><tbody><tr><td><code>max-age=&lt;secondes&gt;<\/code><\/td><td>Dur\u00e9e pendant laquelle le navigateur applique la r\u00e8gle. <code>31536000<\/code> = 1 an. <strong>Obligatoire.<\/strong><\/td><\/tr><tr><td><code>includeSubDomains<\/code><\/td><td>Applique la r\u00e8gle \u00e0 <strong>tous<\/strong> les sous-domaines. Optionnel mais recommand\u00e9 si ton infra le permet.<\/td><\/tr><tr><td><code>preload<\/code><\/td><td>Autorise l\u2019inscription du domaine dans la liste de pr\u00e9chargement des navigateurs (voir plus bas). Optionnel.<\/td><\/tr><\/tbody><\/table><\/figure>\n\n\n\n<hr class=\"wp-block-separator has-alpha-channel-opacity\"\/>\n\n\n\n<h2 class=\"wp-block-heading\">Mise en place sur Apache<\/h2>\n\n\n\n<h3 class=\"wp-block-heading\">1. Activer le module <code>headers<\/code><\/h3>\n\n\n\n<p class=\"wp-block-paragraph\">L\u2019en-t\u00eate est envoy\u00e9 via le module <code>mod_headers<\/code>, qui n\u2019est pas toujours actif par d\u00e9faut :<\/p>\n\n\n\n<div class=\"sourceCode\" id=\"cb2\">\n<pre class=\"sourceCode bash\"><code class=\"sourceCode bash\"><span id=\"cb2-1\"><a href=\"#cb2-1\" aria-hidden=\"true\" tabindex=\"-1\"><\/a><span class=\"fu\">sudo<\/span> a2enmod headers<\/span>\n<span id=\"cb2-2\"><a href=\"#cb2-2\" aria-hidden=\"true\" tabindex=\"-1\"><\/a><span class=\"fu\">sudo<\/span> systemctl reload apache2<\/span><\/code><\/pre>\n<\/div>\n\n\n\n<h3 class=\"wp-block-heading\">2. Ajouter l\u2019en-t\u00eate dans le vhost HTTPS<\/h3>\n\n\n\n<p class=\"wp-block-paragraph\">L\u2019en-t\u00eate doit \u00eatre d\u00e9fini dans le <strong>vhost du port 443<\/strong>, jamais dans celui du port 80.<\/p>\n\n\n\n<blockquote class=\"wp-block-quote is-layout-flow wp-block-quote-is-layout-flow\">\n<p class=\"wp-block-paragraph\"><strong>R\u00e8gle absolue :<\/strong> ne jamais envoyer l\u2019en-t\u00eate HSTS sur une r\u00e9ponse HTTP (port 80). La spec impose aux navigateurs de l\u2019ignorer sur HTTP, mais le placer l\u00e0 est une erreur de configuration et peut semer la confusion. HSTS se sert <strong>uniquement<\/strong> en HTTPS.<\/p>\n<\/blockquote>\n\n\n\n<p class=\"wp-block-paragraph\">\u00c9dite ton vhost SSL :<\/p>\n\n\n\n<div class=\"sourceCode\" id=\"cb3\">\n<pre class=\"sourceCode bash\"><code class=\"sourceCode bash\"><span id=\"cb3-1\"><a href=\"#cb3-1\" aria-hidden=\"true\" tabindex=\"-1\"><\/a><span class=\"fu\">sudo<\/span> nano \/etc\/apache2\/sites-available\/ton-site-le-ssl.conf<\/span><\/code><\/pre>\n<\/div>\n\n\n\n<p class=\"wp-block-paragraph\">Ajoute la ligne <code>Header<\/code> <strong>\u00e0 l\u2019int\u00e9rieur<\/strong> du bloc <code>&lt;VirtualHost *:443&gt;<\/code> :<\/p>\n\n\n\n<div class=\"sourceCode\" id=\"cb4\">\n<pre class=\"sourceCode apache\"><code class=\"sourceCode apache\"><span id=\"cb4-1\"><a href=\"#cb4-1\" aria-hidden=\"true\" tabindex=\"-1\"><\/a><span class=\"fu\">&lt;VirtualHost<\/span><span class=\"at\"> *:443<\/span><span class=\"fu\">&gt;<\/span><\/span>\n<span id=\"cb4-2\"><a href=\"#cb4-2\" aria-hidden=\"true\" tabindex=\"-1\"><\/a>    ServerName<span class=\"st\"> etiennemotara.fr<\/span><\/span>\n<span id=\"cb4-3\"><a href=\"#cb4-3\" aria-hidden=\"true\" tabindex=\"-1\"><\/a>    ServerAlias<span class=\"st\"> www.etiennemotara.fr<\/span><\/span>\n<span id=\"cb4-4\"><a href=\"#cb4-4\" aria-hidden=\"true\" tabindex=\"-1\"><\/a>    DocumentRoot<span class=\"st\"> \/var\/www\/ton-site<\/span><\/span>\n<span id=\"cb4-5\"><a href=\"#cb4-5\" aria-hidden=\"true\" tabindex=\"-1\"><\/a><\/span>\n<span id=\"cb4-6\"><a href=\"#cb4-6\" aria-hidden=\"true\" tabindex=\"-1\"><\/a>    <span class=\"co\"># ... reste de ta config SSL ...<\/span><\/span>\n<span id=\"cb4-7\"><a href=\"#cb4-7\" aria-hidden=\"true\" tabindex=\"-1\"><\/a><\/span>\n<span id=\"cb4-8\"><a href=\"#cb4-8\" aria-hidden=\"true\" tabindex=\"-1\"><\/a>    <span class=\"co\"># HSTS \u2014 1 an, sous-domaines inclus<\/span><\/span>\n<span id=\"cb4-9\"><a href=\"#cb4-9\" aria-hidden=\"true\" tabindex=\"-1\"><\/a>    Header<span class=\"st\"> always set Strict-Transport-Security \"max-age=31536000; includeSubDomains\"<\/span><\/span>\n<span id=\"cb4-10\"><a href=\"#cb4-10\" aria-hidden=\"true\" tabindex=\"-1\"><\/a><span class=\"fu\">&lt;\/VirtualHost&gt;<\/span><\/span><\/code><\/pre>\n<\/div>\n\n\n\n<p class=\"wp-block-paragraph\">Le mot-cl\u00e9 <strong><code>always<\/code><\/strong> est important : il garantit que l\u2019en-t\u00eate est envoy\u00e9 sur <strong>toutes<\/strong> les r\u00e9ponses, y compris les pages d\u2019erreur (403, 404, 500). Sans <code>always<\/code>, l\u2019en-t\u00eate n\u2019est ajout\u00e9 que sur les r\u00e9ponses \u00ab normales \u00bb (2xx, 3xx), ce qui laisse un trou.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\">3. Tester la configuration et recharger<\/h3>\n\n\n\n<div class=\"sourceCode\" id=\"cb5\">\n<pre class=\"sourceCode bash\"><code class=\"sourceCode bash\"><span id=\"cb5-1\"><a href=\"#cb5-1\" aria-hidden=\"true\" tabindex=\"-1\"><\/a><span class=\"fu\">sudo<\/span> apache2ctl configtest<\/span>\n<span id=\"cb5-2\"><a href=\"#cb5-2\" aria-hidden=\"true\" tabindex=\"-1\"><\/a><span class=\"fu\">sudo<\/span> systemctl reload apache2<\/span><\/code><\/pre>\n<\/div>\n\n\n\n<p class=\"wp-block-paragraph\"><code>configtest<\/code> doit renvoyer <code>Syntax OK<\/code> avant le reload.<\/p>\n\n\n\n<hr class=\"wp-block-separator has-alpha-channel-opacity\"\/>\n\n\n\n<h2 class=\"wp-block-heading\">V\u00e9rifier que HSTS est bien actif<\/h2>\n\n\n\n<h3 class=\"wp-block-heading\">En ligne de commande<\/h3>\n\n\n\n<div class=\"sourceCode\" id=\"cb6\">\n<pre class=\"sourceCode bash\"><code class=\"sourceCode bash\"><span id=\"cb6-1\"><a href=\"#cb6-1\" aria-hidden=\"true\" tabindex=\"-1\"><\/a><span class=\"ex\">curl<\/span> <span class=\"at\">-sI<\/span> https:\/\/etiennemotara.fr <span class=\"kw\">|<\/span> <span class=\"fu\">grep<\/span> <span class=\"at\">-i<\/span> strict-transport-security<\/span><\/code><\/pre>\n<\/div>\n\n\n\n<p class=\"wp-block-paragraph\">Tu dois voir appara\u00eetre :<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>strict-transport-security: max-age=31536000; includeSubDomains<\/code><\/pre>\n\n\n\n<p class=\"wp-block-paragraph\">Si rien ne s\u2019affiche : le module <code>headers<\/code> n\u2019est pas actif, l\u2019en-t\u00eate est dans le mauvais vhost, ou Apache n\u2019a pas \u00e9t\u00e9 recharg\u00e9.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\">Dans le navigateur<\/h3>\n\n\n\n<p class=\"wp-block-paragraph\">Ouvre les DevTools (F12) \u2192 onglet <strong>R\u00e9seau<\/strong> \u2192 recharge la page \u2192 clique sur la requ\u00eate du document principal \u2192 section <strong>En-t\u00eates de r\u00e9ponse<\/strong>. L\u2019en-t\u00eate <code>strict-transport-security<\/code> doit y figurer.<\/p>\n\n\n\n<hr class=\"wp-block-separator has-alpha-channel-opacity\"\/>\n\n\n\n<h2 class=\"wp-block-heading\">Strat\u00e9gie de d\u00e9ploiement : monter le <code>max-age<\/code> progressivement<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">Ne pose pas <code>max-age=31536000<\/code> (1 an) du premier coup. Si tu d\u00e9couvres ensuite un sous-domaine cass\u00e9 ou un probl\u00e8me de certificat, tu ne peux <strong>pas<\/strong> annuler facilement \u2014 les navigateurs ont m\u00e9moris\u00e9 la r\u00e8gle pour un an.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">L\u2019approche prudente :<\/p>\n\n\n\n<ol class=\"wp-block-list\">\n<li><br><p><strong>D\u00e9marre court<\/strong> \u2014 teste avec une valeur faible pendant quelques jours :<\/p><div class=\"sourceCode\" id=\"cb8\"><pre class=\"sourceCode apache\"><code class=\"sourceCode apache\"><span id=\"cb8-1\">Header<span class=\"st\"> always set Strict-Transport-Security \"max-age=300<\/span><\/span><\/code><\/pre><\/div><p>(300 secondes = 5 minutes)<\/p><\/li>\n\n\n\n<li><br><p><strong>V\u00e9rifie<\/strong> que tout fonctionne : site principal, sous-domaines, pages d\u2019erreur, tout en HTTPS sans accroc.<\/p><\/li>\n\n\n\n<li><br><p><strong>Monte<\/strong> \u00e0 quelques heures, puis quelques jours :<\/p><div class=\"sourceCode\" id=\"cb9\"><pre class=\"sourceCode apache\"><code class=\"sourceCode apache\"><span id=\"cb9-1\">Header<span class=\"st\"> always set Strict-Transport-Security \"max-age=86400; includeSubDomains<\/span><\/span><\/code><\/pre><\/div><\/li>\n\n\n\n<li><br><p><strong>Passe \u00e0 1 an<\/strong> une fois confiant :<\/p><div class=\"sourceCode\" id=\"cb10\"><pre class=\"sourceCode apache\"><code class=\"sourceCode apache\"><span id=\"cb10-1\">Header<span class=\"st\"> always set Strict-Transport-Security \"max-age=31536000; includeSubDomains\"<\/span><\/span><\/code><\/pre><\/div><\/li>\n<\/ol>\n\n\n\n<p class=\"wp-block-paragraph\">Pour <strong>d\u00e9sactiver<\/strong> HSTS pendant les tests, ne te contente pas de retirer la ligne \u2014 pose explicitement <code>max-age=0<\/code>, ce qui dit au navigateur d\u2019oublier la r\u00e8gle :<\/p>\n\n\n\n<div class=\"sourceCode\" id=\"cb11\">\n<pre class=\"sourceCode apache\"><code class=\"sourceCode apache\"><span id=\"cb11-1\"><a href=\"#cb11-1\" aria-hidden=\"true\" tabindex=\"-1\"><\/a>Header<span class=\"st\"> always set Strict-Transport-Security \"max-age=0\"<\/span><\/span><\/code><\/pre>\n<\/div>\n\n\n\n<hr class=\"wp-block-separator has-alpha-channel-opacity\"\/>\n\n\n\n<h2 class=\"wp-block-heading\">Le preloading (option avanc\u00e9e)<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">Le point faible de HSTS, c\u2019est la <strong>toute premi\u00e8re visite<\/strong> : tant que le navigateur n\u2019a jamais re\u00e7u l\u2019en-t\u00eate, il peut encore tenter du HTTP. Le pr\u00e9chargement corrige \u00e7a.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Les navigateurs (Chrome, Firefox, Safari, Edge) embarquent une <strong>liste cod\u00e9e en dur<\/strong> de domaines \u00e0 traiter en HTTPS-only d\u00e8s la premi\u00e8re requ\u00eate, sans avoir jamais visit\u00e9 le site. Cette liste est maintenue sur <a href=\"https:\/\/hstspreload.org\">hstspreload.org<\/a>.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\">Conditions pour \u00eatre \u00e9ligible<\/h3>\n\n\n\n<p class=\"wp-block-paragraph\">Pour soumettre ton domaine, l\u2019en-t\u00eate doit respecter <strong>exactement<\/strong> ces exigences :<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li><code>max-age<\/code> d\u2019au moins <strong>31536000<\/strong> (1 an)<\/li>\n\n\n\n<li>la directive <code>includeSubDomains<\/code> pr\u00e9sente<\/li>\n\n\n\n<li>la directive <code>preload<\/code> pr\u00e9sente<\/li>\n\n\n\n<li>une redirection HTTP \u2192 HTTPS valide sur le domaine racine<\/li>\n<\/ul>\n\n\n\n<p class=\"wp-block-paragraph\">L\u2019en-t\u00eate devient donc :<\/p>\n\n\n\n<div class=\"sourceCode\" id=\"cb12\">\n<pre class=\"sourceCode apache\"><code class=\"sourceCode apache\"><span id=\"cb12-1\"><a href=\"#cb12-1\" aria-hidden=\"true\" tabindex=\"-1\"><\/a>Header<span class=\"st\"> always set Strict-Transport-Security \"max-age=31536000; includeSubDomains; preload\"<\/span><\/span><\/code><\/pre>\n<\/div>\n\n\n\n<p class=\"wp-block-paragraph\">Une fois l\u2019en-t\u00eate en place, tu soumets ton domaine sur <a href=\"https:\/\/hstspreload.org\">hstspreload.org<\/a>.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\">\u26a0\ufe0f \u00c0 bien peser avant de pr\u00e9charger<\/h3>\n\n\n\n<p class=\"wp-block-paragraph\">Le preloading est <strong>quasi irr\u00e9versible et lent \u00e0 d\u00e9faire<\/strong>. Se retirer de la liste prend des mois (le temps que les nouvelles versions des navigateurs se d\u00e9ploient). N\u2019active <code>preload<\/code> que si :<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li>tu es <strong>certain<\/strong> que tout ton domaine et tous ses sous-domaines resteront en HTTPS ind\u00e9finiment ;<\/li>\n\n\n\n<li>tu ne pr\u00e9vois pas de servir un jour quoi que ce soit en HTTP sur ce domaine.<\/li>\n<\/ul>\n\n\n\n<p class=\"wp-block-paragraph\">Pour un site personnel ou vitrine stable, c\u2019est un bon r\u00e9flexe. Pour une infra en \u00e9volution avec des sous-domaines qui vont et viennent, mieux vaut s\u2019abstenir.<\/p>\n\n\n\n<hr class=\"wp-block-separator has-alpha-channel-opacity\"\/>\n\n\n\n<h2 class=\"wp-block-heading\">R\u00e9capitulatif<\/h2>\n\n\n\n<figure class=\"wp-block-table\"><table class=\"has-fixed-layout\"><thead><tr><th>\u00c9tape<\/th><th>Commande \/ action<\/th><\/tr><\/thead><tbody><tr><td>Activer le module<\/td><td><code>sudo a2enmod headers<\/code><\/td><\/tr><tr><td>Ajouter l\u2019en-t\u00eate<\/td><td><code>Header always set Strict-Transport-Security \"...\"<\/code> dans le vhost <code>:443<\/code><\/td><\/tr><tr><td>Tester la config<\/td><td><code>sudo apache2ctl configtest<\/code><\/td><\/tr><tr><td>Recharger<\/td><td><code>sudo systemctl reload apache2<\/code><\/td><\/tr><tr><td>V\u00e9rifier<\/td><td><code>curl -sI https:\/\/ton-domaine \\| grep -i strict<\/code><\/td><\/tr><\/tbody><\/table><\/figure>\n\n\n\n<p class=\"wp-block-paragraph\">HSTS est l\u2019un des en-t\u00eates de s\u00e9curit\u00e9 les plus faciles \u00e0 d\u00e9ployer pour le gain qu\u2019il apporte. Combin\u00e9 \u00e0 une redirection HTTP \u2192 HTTPS propre et \u00e0 un certificat valide, il \u00e9limine toute une classe d\u2019attaques r\u00e9seau \u2014 et c\u2019est un point syst\u00e9matiquement contr\u00f4l\u00e9 lors d\u2019un audit de s\u00e9curit\u00e9 web.<\/p>\n","protected":false},"excerpt":{"rendered":"<p>HSTS (HTTP Strict Transport Security) est un en-t\u00eate de r\u00e9ponse HTTP qui force le navigateur \u00e0 ne communiquer avec ton site qu\u2019en HTTPS, pendant une dur\u00e9e que tu d\u00e9finis. Une fois l\u2019en-t\u00eate re\u00e7u, le navigateur m\u00e9morise l\u2019instruction et refuse toute connexion en HTTP clair vers ton domaine, m\u00eame si l\u2019utilisateur tape http:\/\/ ou clique sur [&hellip;]<\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[8],"tags":[7],"class_list":["post-26","post","type-post","status-publish","format-standard","hentry","category-security","tag-security"],"_links":{"self":[{"href":"https:\/\/etiennemotara.fr\/index.php\/wp-json\/wp\/v2\/posts\/26","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/etiennemotara.fr\/index.php\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/etiennemotara.fr\/index.php\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/etiennemotara.fr\/index.php\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/etiennemotara.fr\/index.php\/wp-json\/wp\/v2\/comments?post=26"}],"version-history":[{"count":4,"href":"https:\/\/etiennemotara.fr\/index.php\/wp-json\/wp\/v2\/posts\/26\/revisions"}],"predecessor-version":[{"id":33,"href":"https:\/\/etiennemotara.fr\/index.php\/wp-json\/wp\/v2\/posts\/26\/revisions\/33"}],"wp:attachment":[{"href":"https:\/\/etiennemotara.fr\/index.php\/wp-json\/wp\/v2\/media?parent=26"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/etiennemotara.fr\/index.php\/wp-json\/wp\/v2\/categories?post=26"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/etiennemotara.fr\/index.php\/wp-json\/wp\/v2\/tags?post=26"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}