Content-Type-Nicht-Korrekt/DE

Aus Siwecos
Version vom 3. April 2019, 15:03 Uhr von Siwebot (Diskussion | Beiträge)
(Unterschied) ← Nächstältere Version | Aktuelle Version (Unterschied) | Nächstjüngere Version → (Unterschied)
Wechseln zu: Navigation, Suche

Überprüfung des HTTP Content-Types

Bei positivem Ergebnis besteht kein weiterer Handlungsbedarf, bei negativen Ergebnis lesen Sie bitte die folgenden Hinweise.

Ergebnis positiv Die Content Type Angabe ist korrekt konfiguriert.
Ergebnis negativ Inkorrekte HTTP Content-Type Konfiguration
Beschreibung Der Content-Type ist eine Angabe, die für gewöhnlich im Kopfbereich der Webseite, dem sogenannten Header, untergebracht wird. Durch diese Angaben wird der Zeichensatz und der Typ des Inhalts der Seite definiert. Sollte eine Definition fehlen, wird der Browser versuchen, den Content-Type zu erraten; dies kann zu Sicherheitslücken wie Code-Page-Sniffing führen. Diese Angaben sind zudem wichtig, damit die Webseite in jedem Browser und auf jedem Computer einwandfrei dargestellt wird. Wenn ein Server ein Dokument an einen User-Agent sendet (zum Beispiel zum Browser) ist es nützlich, im Content-Type-Feld des HTTP-Headers die Art des Dateiformates zu hinterlegen. Diese Informationen deklarieren den MIME-Typ und senden entsprechend die Zeichenkodierung des Dokuments wie text/html, text/plain, etc. an den Browser.
Hintergrund Der Content-Type ist eine Meta-Element-Angabe, die im Kopfbereich der Website, dem sogenannten Header untergebracht wird. Durch diese Angabe wird der Zeichensatz und der Typ des Inhalts der Seite definiert. Diese Angaben sind wichtig, damit die Website in jedem Browser und auf jedem Computer einwandfrei dargestellt wird. Die Einbettung des Content-Types im Quellcode ist durch eine relativ kurze Angabe möglich. Es sollte der UTF-8 Zeichensatz verwendet werden.
Auswirkung Durch die Angabe der korrekten Header-Deklaration können diverse XSS-Angriffe verhindert werden. Wird der verwendete Zeichensatz nicht angegeben, so interpretieren manche Webbrowser den Quellcode selbst, wodurch bestimmte Angriffe möglich werden, die einen anderen Zeichensatz voraussetzen.
Lösung/Tipps Wenn die Content-Type-Angabe nicht korrekt konfiguriert ist, sind Angriffe auf Ihre Webseite wahrscheinlich möglich.

Fügen Sie den entsprechenden HTTP-Header oder alternativ ein <meta> Tag hinzu. Bitte beachten Sie, dass <meta> im Gegensatz zu einem HTTP-Header leichter umgangen werden kann.

text/html; charset=utf-8;

<meta http-equiv="Content-Type" content="text/html; charset=utf-8">

Weiterhin muss der Server selber konfiguriert werden, damit die richtige charset-Information gesendet wird. Dazu werden entsprechende Berechtigungen benötigt, um die Änderungen am Server durchführen zu können. Weitere Informationen zu den verschiedenen Serverkonfigurationen finden Sie auf den Seiten von W3.org.

Darüber hinaus gibt es auch die Möglichkeit die richtige charset-Information der .htaccess zu übergeben, welche die Angaben im HTTP-Header überschreiben. charset in .htaccess

In die .htaccess eintragen:

AddType 'text/html; charset=UTF-8' html

Hier finden Sie ein Beispiel, wie eine .htaccess-Datei aussehen kann, um einen höheren Wert beim Header Scanner zu erzielen. (.htaccess-Beispiel)