X-Content-Type-Options header
Der HTTP X-Content-Type-Options Antwort-Header gibt an, dass die in den Content-Type-Headern angegebenen MIME-Typen respektiert und nicht geändert werden sollten. Der Header ermöglicht es Ihnen, MIME-Typ-Sniffing zu vermeiden, indem angegeben wird, dass die MIME-Typen absichtlich konfiguriert sind.
Sicherheitstester von Webseiten erwarten normalerweise, dass dieser Header gesetzt ist (und dass der Content-Type-Header für alle Ressourcen korrekt gesetzt ist).
Die nosniff-Direktive hat je nach Kontext zwei Auswirkungen:
- Anfrageblockierung: Bei Anfragen mit einem Ziel von
"script"oder"style"blockiert der Browser die Antwort, wenn der MIME-Typ nicht dem erwarteten Typ entspricht (ein JavaScript MIME-Typ für Skripte odertext/cssfür Stylesheets). Weitere Details finden Sie in der Fetch-Spezifikation. - MIME-Typ-Sniffing deaktiviert: Für andere Antworttypen, einschließlich Navigationen zu einem neuen HTML-Dokument, verwendet der Browser den bereitgestellten
Content-Typeunverändert, anstatt den Inhalt zu untersuchen, um den Typ zu ermitteln. Beispielsweise, wenn ein Server eine Antwort mitContent-Type: text/plainundX-Content-Type-Options: nosniffsendet, wird der Browser sie nicht als HTML interpretieren, selbst wenn der Inhalt HTML-Markup enthält. Dies verhindert XSS-Angriffe, bei denen vom Benutzer hochgeladene Inhalte als HTML-Dokument ausgeführt werden, selbst wenn der Browser angegeben hat, dass sie als reiner Text (oder ein anderer Typ) behandelt werden sollten. Weitere Details finden Sie in der MIME Sniffing Spezifikation.
| Header-Typ | Antwort-Header |
|---|---|
| Verbotener Antwort-Header-Name | Nein |
Syntax
X-Content-Type-Options: nosniff
Direktiven
nosniff-
Blockiert eine Anfrage, wenn das Anfrageziel vom Typ
styleist und der MIME-Typ nichttext/cssist, oder vom Typscriptist und der MIME-Typ nicht ein JavaScript MIME-Typ ist.Es verhindert auch das MIME-Typ-Sniffing für alle anderen Antworttypen, indem der Browser den deklarierten
Content-Typeverwendet, ohne den Antwortinhalt zu prüfen. Insbesondere verhindert es, dass ein Browser eine Antwort alstext/htmlbehandelt, wenn sie in einem Browserkontext geladen wird und derContent-Type-Header fehlt oder einen nicht-HTML-Typ angibt.
Spezifikationen
| Spezifikation |
|---|
| Fetch> # x-content-type-options-header> |
Browser-Kompatibilität
Siehe auch
Content-Type- Die ursprüngliche Definition von X-Content-Type-Options durch Microsoft.
- Verwenden Sie HTTP Observatory, um die Sicherheitskonfiguration von Webseiten (einschließlich dieses Headers) zu testen.
- Abschwächung von MIME-Verwirrungs-Angriffen in Firefox