Freigeben über


HttpRuntimeSection.EnableHeaderChecking Eigenschaft

Definition

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 \nzu 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 trueist , was der Standard ist, werden die \r Zeichen oder \n in einem Antwortheader in %0d und %0acodiert. 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.

Gilt für:

Weitere Informationen