HttpRuntimeSection.EnableHeaderChecking Eigenschaft
Definition
Wichtig
Einige Informationen beziehen sich auf Vorabversionen, die vor dem Release ggf. grundlegend überarbeitet werden. Microsoft übernimmt hinsichtlich der hier bereitgestellten Informationen keine Gewährleistungen, seien sie ausdrücklich oder konkludent.
Dient zum Abrufen oder Festlegen eines Werts, der angibt, ob die Headerüberprüfung aktiviert ist.
public:
property bool EnableHeaderChecking { bool get(); void set(bool value); };
[System.Configuration.ConfigurationProperty("enableHeaderChecking", DefaultValue=true)]
public bool EnableHeaderChecking { get; set; }
[<System.Configuration.ConfigurationProperty("enableHeaderChecking", DefaultValue=true)>]
member this.EnableHeaderChecking : bool with get, set
Public Property EnableHeaderChecking As Boolean
Eigenschaftswert
truewenn die Headerüberprüfung aktiviert ist; andernfalls . false Der Standardwert ist true.
- Attribute
Beispiele
Das folgende Beispiel zeigt, wie die EnableHeaderChecking Eigenschaft verwendet wird.
// Get the EnableHeaderChecking property value.
Response.Write("EnableHeaderChecking: " +
configSection.EnableHeaderChecking + "<br>");
// Set the EnableHeaderChecking property value to true.
configSection.EnableHeaderChecking = true;
' Get the EnableHeaderChecking property value.
Response.Write("EnableHeaderChecking: " & _
configSection.EnableHeaderChecking & "<br>")
' Set the EnableHeaderChecking property value to true.
configSection.EnableHeaderChecking = True
Hinweise
Mit dieser Eigenschaft können Sie die Codierung der Wagenrücklauf- und Zeilenumbruchzeichen \r aktivieren und \ndie in Antwortheadern gefunden werden.
In ausgehenden Antwortheadern werden die Zeichen, die durch die Codes 0x1F und unten dargestellt werden, codiert und auch das Zeichen 0x7F (Löschzeichen). Die einzige Ausnahme besteht darin, dass das Zeichen 0x09 (das Tabstoppzeichen) unverändert ist.
Mit dieser Codierung lassen sich Einschleusungsangriffe vermeiden, die eine Anwendung ausnutzen, die nicht vertrauenswürdige Daten im Header zurückgibt.
Hinweis
Diese Eigenschaft gilt nicht für die Statuszeile selbst (Statuscode und Statusbeschreibung), sondern sollte für andere Header gelten. Obwohl <httpRuntime> auf jeder Ebene festgelegt werden kann, gilt diese Eigenschaft nur auf Computer- und Anwendungsebene.
Wenn diese Eigenschaft die Standardeinstellung ist true, werden die \r in einem Antwortheader gefundenen Zeichen \n codiert %0d und %0a. Dadurch werden Kopfzeileneinfügungsangriffe besiegt, indem der injizierte Materialteil derselben Kopfzeile ist. Dies kann die Antwort unterbrechen, aber keine Angriffsvektoren für den Client öffnen. Das Zurücksenden von nicht vertrauenswürdigen Daten ist jedoch in keiner Situation eine gute Idee.
Von Bedeutung
HTTP-Header Fortsetzungen basieren auf Headern, die mehrere Zeilen umfassen, und erfordern neue Zeilen. Wenn Sie Header-Fortsetzungen verwenden müssen, müssen Sie die EnableHeaderChecking-Eigenschaft auf false festlegen. Da es auswirkungen auf die Leistung beim Betrachten von Headern hat, kann das Deaktivieren dieses Features die Leistung Ihrer Anwendung verbessern, wenn Sie sicher sind, dass Sie bereits die richtigen Prüfungen durchführen. Bevor Sie dieses Feature deaktivieren, stellen Sie sicher, dass Sie in diesem Bereich bereits die richtigen Vorsichtsmaßnahmen treffen.