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.
Ruft einen Wert ab, der angibt, ob die Headerüberprüfung aktiviert ist, oder legt diesen fest.
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
true
, wenn die Headerüberprüfung aktiviert ist, andernfalls false
. Der Standardwert ist true
.
- Attribute
Beispiele
Im folgenden Beispiel wird die Verwendung der EnableHeaderChecking-Eigenschaft veranschaulicht.
// 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
Der Zweck dieser Eigenschaft besteht darin, die Codierung der Wagenrücklauf- und Zeilenumbruchzeichen und \n
zu aktivieren, \r
die sich in Antwortheadern befinden.
In ausgehenden Antwortheadern werden die Zeichen, die durch die Codes 0x1F und darunter dargestellt werden, und auch das Zeichen 0x7F (Löschzeichen) codiert. Die einzige Ausnahme besteht darin, dass das Zeichen 0x09 (das Registerkartenzeichen) 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, ist diese Eigenschaft nur auf Computer- und Anwendungsebene anwendbar.
Wenn diese Eigenschaft true
ist , was der Standard ist, werden die \r
Zeichen oder \n
in einem Antwortheader in %0d
und %0a
codiert. Dadurch werden Headerinjektionsangriffe besiegt, indem das eingefügte Material teil derselben Headerzeile wird. Dies kann die Antwort unterbrechen, sollte aber keine Angriffsvektoren für den Client öffnen. Die Rückkopplung nicht vertrauenswürdiger Daten ist jedoch in keiner Situation eine gute Idee.
Wichtig
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 sich das Betrachten von Headern auf die Leistung auswirkt, kann das Deaktivieren dieses Features die Leistung Ihrer Anwendung verbessern, wenn Sie sicher sind, dass Sie bereits die richtigen Überprüfungen durchführen. Bevor Sie dieses Feature deaktivieren, stellen Sie sicher, dass Sie in diesem Bereich bereits die richtigen Vorsichtsmaßnahmen treffen.