Was X-Content-Type-Options macht

Der Header X-Content-Type-Options mit dem Wert „nosniff“ verbietet dem Browser, den Typ einer Datei zu raten. So wird aus einer harmlosen Textdatei kein ausführbares Skript.

So funktioniert es

Jede Antwort eines Webservers trägt im Header Content-Type, was sie ist: text/html für eine Seite, image/png für ein Bild, text/javascript für ein Skript. Fehlt die Angabe oder ist sie falsch, schauen Browser in den Inhalt und raten. Das heißt MIME-Sniffing.

Gefährlich wird das, wenn Besucher Dateien hochladen dürfen. Lädt ein Angreifer eine Datei hoch, die wie ein Bild oder Text aussieht, aber Skriptcode enthält, kann ein ratender Browser sie als Skript ausführen, sobald eine Seite sie einbindet.

Mit X-Content-Type-Options: nosniff hält sich der Browser an den angegebenen Typ. Ein Skript oder Stylesheet, dessen Content-Type nicht passt, lädt er nicht.

Worauf es ankommt

  • Nur ein gültiger Wert. nosniff ist der einzige. Andere Werte oder Tippfehler wirken nicht.
  • Genau einmal senden. Setzen Webserver und Anwendung den Header beide, steht er doppelt in der Antwort. Sende ihn an einer Stelle.
  • Für alle Antworten. Am wichtigsten ist er für hochgeladene Dateien und Skripte, nicht nur für HTML-Seiten.
  • Richtige Typen. Mit nosniff muss der Content-Type stimmen, sonst laden Skripte oder Stylesheets nicht mehr. Webserver bringen dafür eine Liste mit; eigene Dateiendungen musst du eventuell nachtragen.

So richtest du es ein

Der Header:

X-Content-Type-Options: nosniff

Er gehört in die Konfiguration des Webservers, damit er für jede Datei gilt, auch für Bilder und Uploads, die nicht durch die Anwendung laufen.

Webserver
add_header X-Content-Type-Options "nosniff" always;
Header always set X-Content-Type-Options "nosniff"

Achtung bei nginx: Hat ein location-Block eigene add_header-Zeilen, erbt er die äußeren nicht.

Bei Shared Hosting geht das meist über die .htaccess, bei einem CDN über eine Regel für Antwort-Header. Prüfe danach, ob alle Skripte und Stylesheets noch laden.

Mehr zu Schutz vor Einschleusung

Jetzt deine Website prüfen

Der Security-Check zeigt in wenigen Sekunden, welche Header fehlen, mit fertigen Zeilen zum Kopieren.

Website prüfen