X-Content-Type-Options
Was geprüft
Geprüft wird, ob die Endantwort die Kopfzeile X-Content-Type-Options mit dem Wert nosniff sendet. Ein anderer Wert gilt als nicht gesetzt.
Wie relevant
Niedrig, wenn die Kopfzeile fehlt oder einen ungültigen Wert hat, weil sie nur eine bestimmte Angriffsart erschwert und keinen eigenen Fehler der Seite anzeigt.
Warum
Ohne nosniff versuchen Browser, den Dateityp selbst zu erraten. Eine hochgeladene Datei, die als Bild gemeint war, könnte so als Skript oder Stylesheet ausgeführt werden. nosniff verlangt, dass der angegebene Content-Type stimmt.
Wie beheben
Setzen Sie X-Content-Type-Options: nosniff für alle Antworten. Auf Shared Hosting geht das in der .htaccess, bei Cloudflare per Transform Rule.
Nebenwirkung: Liefert der Server Skripte oder Stylesheets mit falschem Content-Type aus (etwa text/plain statt text/javascript), blockiert der Browser sie danach. Prüfen Sie nach dem Setzen die Browserkonsole auf Meldungen zu „MIME type“ und korrigieren Sie gegebenenfalls die Typzuordnung des Servers.
WordPress: Sicherheits- und Cache-Plugins schreiben die .htaccess oft selbst um und können eigene Kopfzeilen dabei entfernen oder doppelt setzen. Setzen Sie Kopfzeilen deshalb an genau einer Stelle (Plugin oder .htaccess außerhalb der Plugin-Blöcke „# BEGIN … # END“) und prüfen Sie nach jedem Plugin-Update mit curl -I.
Codebeispiel
Apache (.htaccess)
<IfModule mod_headers.c>
Header always set X-Content-Type-Options "nosniff"
</IfModule>nginx
add_header X-Content-Type-Options "nosniff" always;Cloudflare (Transform Rule)
Rules → Transform Rules → Response Header Transform Rules
Aktion: Set static — Header: X-Content-Type-Options — Wert: nosniffWeiterführende Quellen
Quellen der Methodik
docs/SCORING.md— Status und Schweregrade (§2), Kategoriescore und Abdeckung (§3), Gesamtwert (§4), keine Doppelabzüge (§5), Prüfkatalog mit Gewichten (§6), Versionierung (§8), Formulierungsregeln (§9), bewusst nicht geprüft (§10)docs/KALIBRIERUNG.md— Abgleich der Schwerefaktoren und Kappen mit externen Ankern (Web Almanac, Lighthouse, MDN HTTP Observatory, SSL Labs), Entscheidung scoring@1.4.0