--- title: "X-Content-Type-Options (header)" date: 2017-08-16T16:13:25+01:00 description: "Explications sur l'entête HTTP nommée X-Content-Type-Options" draft: false lastmod: 2018-10-12T02:48:25+01:00 tags: ["HTTP", "header", "X Options"] --- ## Définition **X-Content-Type-Options** est une technique de base qui demande aux clients web de ne pas (télé)charger des ressources, tels que des scripts ou des feuilles de styles à moins que le serveur n'indique correctement le type {{< abbr MIME "Multipurpose Internet Mail Extensions" >}}. Sans cette entête, les clients web pourraient télécharger n'importe quoi, et ainsi être victimes d'attaques. **X-Content-Type-Options** est une entête {{< abbr HTTP "HyperText Transfert Protocol" >}}, dont la mise-en-place est extrêmement aisé, mais le bénéfice est faible ! Il n'existe qu'une seule option possible : `nosniff` Elle fait partie des entêtes de base à générer pour protéger son site web, au même titre que l'usage de {{< inside "web:ssl:hsts" HSTS >}}, et des autres entêtes X-*-Options, telles que {{< inside "web:http:x-frame-options" "X-Frame-Options" >}}, ou {{< inside "web:http:x-xss-protections" X-XSS-Protections >}}… ## Exemples `X-Content-Type-Options: nosniff` ### nginx `add_header X-Content-Type-Options "nosniff" always;` ### relayd Et, oui, malheureusement, {{< tag httpd >}} ne peut pas gérer les entêtes, ce sera son binôme {{< man relayd 8 >}} que l'on utilisera ! `match response header set "X-Content-Type-Options" value "nosniff"` ## Documentations * {{< wp Cross-site_scripting >}} ---