HttpRuntimeSection.EnableHeaderChecking Eigenschap

Definitie

Hiermee wordt een waarde opgehaald of ingesteld die aangeeft of de headercontrole is ingeschakeld.

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

Waarde van eigenschap

true als de headercontrole is ingeschakeld; anders, false. De standaardwaarde is true.

Kenmerken

Voorbeelden

In het volgende voorbeeld ziet u hoe u de EnableHeaderChecking eigenschap gebruikt.

// 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

Opmerkingen

Het doel van deze eigenschap is het inschakelen van codering van de regelterugloop en nieuwe regeltekens, en \r, \n die worden gevonden in antwoordheaders.

In uitgaande antwoordheaders worden de tekens die worden vertegenwoordigd door de codes 0x1F en hieronder gecodeerd en ook het teken 0x7F (teken verwijderen). De enige uitzondering is dat het teken 0x09 (het tabteken) ongewijzigd is.

Deze codering kan helpen bij het voorkomen van injectieaanvallen die gebruikmaken van een toepassing die gebruikmaakt van niet-vertrouwde gegevens die zijn opgenomen in de header.

Note

Deze eigenschap is niet van toepassing op de statusregel zelf (statuscode en statusbeschrijving), maar moet van toepassing zijn op andere headers. Hoewel <httpRuntime> op elk niveau kan worden ingesteld, is deze eigenschap alleen van toepassing op computer- en toepassingsniveau.

Wanneer deze eigenschap is true, wat de standaardwaarde is, worden de \r tekens \n die in een antwoordheader worden gevonden, gecodeerd in %0d en %0a. Hierdoor worden header-injectieaanvallen verslagen door het geïnjecteerde materiaalgedeelte van dezelfde headerlijn te maken. Dit kan het antwoord breken, maar mag geen aanvalsvectoren openen tegen de client. Het echoën van niet-vertrouwde gegevens is echter nooit een goed idee in elke situatie.

Important

Http-headervervolgingen zijn afhankelijk van headers die meerdere regels omvatten en nieuwe regels erin vereisen. Als u koptekstvervolgingen moet gebruiken, moet u de EnableHeaderChecking eigenschap instellen op false. Omdat er invloed is op de prestaties van headers, kunt u de prestaties van uw toepassing verbeteren als u zeker weet dat u al de juiste controles uitvoert. Als u deze functie uitschakelt, kunt u de prestaties van uw toepassing verbeteren. Voordat u deze functie uitschakelt, moet u ervoor zorgen dat u al de juiste voorzorgsmaatregelen op dit gebied neemt.

Van toepassing op

Zie ook