HttpRuntimeSection.EnableHeaderChecking Proprietà
Definizione
Importante
Alcune informazioni sono relative alla release non definitiva del prodotto, che potrebbe subire modifiche significative prima della release definitiva. Microsoft non riconosce alcuna garanzia, espressa o implicita, in merito alle informazioni qui fornite.
Ottiene o imposta un valore che indica se la verifica dell'intestazione è abilitata.
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
Valore della proprietà
true
se la verifica dell'intestazione è abilitata; in caso contrario, false
. Il valore predefinito è true
.
- Attributi
Esempio
Nell'esempio seguente viene illustrato come utilizzare la proprietà EnableHeaderChecking.
// 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
Commenti
Lo scopo di questa proprietà è abilitare la codifica dei caratteri \r
restituiti a capo e di nuova riga e \n
, trovati nelle intestazioni di risposta.
Nelle intestazioni di risposta in uscita i caratteri rappresentati dai codici 0x1F e di seguito vengono codificati e anche il carattere 0x7F (carattere di eliminazione). L'unica eccezione è che il carattere 0x09 (il carattere di scheda) non è modificato.
Questa codifica può aiutare a evitare attacchi di inserimento che sfruttano un'applicazione che eco i dati non attendibili contenuti nell'intestazione.
Nota
Questa proprietà non si applica alla riga di stato stessa (codice di stato e descrizione dello stato), ma deve essere applicata ad altre intestazioni. Anche se <httpRuntime> può essere impostato a qualsiasi livello, questa proprietà è applicabile solo a livello di computer e applicazione.
Quando questa proprietà è true
, ovvero l'impostazione predefinita, i \r
caratteri o \n
trovati in un'intestazione di risposta vengono codificati in %0d
e %0a
. Questo consente di sconfiggere gli attacchi di inserimento dell'intestazione facendo parte del materiale inserito della stessa riga di intestazione. Potrebbe interrompere la risposta, ma non aprire vettori di attacco contro il client. L'eco dei dati non attendibili non è mai una buona idea in qualsiasi situazione, anche se.
Importante
Le continuazioni dell'intestazione HTTP si basano sulle intestazioni che si estendono su più righe e richiedono nuove righe. Se è necessario usare le continuazioni di intestazione, è necessario impostare la EnableHeaderChecking proprietà su false
. Poiché si verifica un impatto sulle prestazioni dall'analisi delle intestazioni, se si è certi che si stanno già eseguendo i controlli corretti, disattivare questa funzionalità può migliorare le prestazioni dell'applicazione. Prima di disabilitare questa funzionalità, assicurarsi di aver già preso le precauzioni corrette in questa area.