HttpHeaders.TryAddWithoutValidation Metodo
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.
Restituisce un valore che indica se una nuova intestazione e i relativi valori sono stati aggiunti all'insieme HttpHeaders senza convalidare i valori dell'intestazione.
Overload
| Nome | Descrizione |
|---|---|
| TryAddWithoutValidation(String, IEnumerable<String>) |
Restituisce un valore che indica se l'intestazione specificata e i relativi valori sono stati aggiunti alla HttpHeaders raccolta senza convalidare le informazioni fornite. |
| TryAddWithoutValidation(String, String) |
Restituisce un valore che indica se l'intestazione specificata e il relativo valore sono stati aggiunti all'insieme HttpHeaders senza convalidare le informazioni fornite. |
TryAddWithoutValidation(String, IEnumerable<String>)
- Origine:
- HttpHeaders.cs
- Origine:
- HttpHeaders.cs
- Origine:
- HttpHeaders.cs
- Origine:
- HttpHeaders.cs
Restituisce un valore che indica se l'intestazione specificata e i relativi valori sono stati aggiunti alla HttpHeaders raccolta senza convalidare le informazioni fornite.
public:
bool TryAddWithoutValidation(System::String ^ name, System::Collections::Generic::IEnumerable<System::String ^> ^ values);
public bool TryAddWithoutValidation(string name, System.Collections.Generic.IEnumerable<string> values);
public bool TryAddWithoutValidation(string name, System.Collections.Generic.IEnumerable<string?> values);
member this.TryAddWithoutValidation : string * seq<string> -> bool
Public Function TryAddWithoutValidation (name As String, values As IEnumerable(Of String)) As Boolean
Parametri
- name
- String
Intestazione da aggiungere alla raccolta.
- values
- IEnumerable<String>
Valori dell'intestazione.
Restituisce
true se l'intestazione name specificata e values può essere aggiunta all'insieme; in caso contrario false, .
Commenti
Questo metodo esegue la convalida del nome dell'intestazione, restituendo false nomi non validi. I nomi di intestazione vengono applicati per essere token HTTP validi, in cui un token viene definito come qualsiasi set di lettere, cifre o simboli ASCII del "!#$%&'*+-.^_`|~" set, che corrispondono alla definizione di RFC9110. I caratteri non ASCII non sono consentiti in un nome di intestazione.
Questo metodo non esegue alcuna convalida del valore di intestazione. I valori aggiunti tramite questo metodo vengono considerati attendibili e altre logiche dell'applicazione, ad esempio HttpClient, potrebbero non funzionare correttamente se non sono ben formate.
I valori aggiunti senza convalida possono essere osservati durante l'enumerazione della raccolta o l'esecuzione di query per il nome di intestazione specifico, anche quando il chiamante non usa la NonValidated visualizzazione della raccolta.
Attenzione
Questo metodo non deve mai essere usato con valori non attendibili, a meno che non siano sufficientemente convalidati.
Ciò che costituisce la convalida "sufficiente" può variare in base al caso d'uso. Come minimo, proibire caratteri di nuova riga per la correttezza del protocollo, if (value.ContainsAny('\r', '\n', '\0')) throw ...ad esempio . Questa convalida deve garantire che l'applicazione server veda i valori nello stesso modo dell'applicazione client, con il server che ora è responsabile della corretta purificazione dei propri input.
Per proteggersi da attacchi come il contrabbando di richieste, i chiamanti sono altamente incoraggiati a verificare che questi valori non contengano caratteri di nuova riga.
Si applica a
TryAddWithoutValidation(String, String)
- Origine:
- HttpHeaders.cs
- Origine:
- HttpHeaders.cs
- Origine:
- HttpHeaders.cs
- Origine:
- HttpHeaders.cs
Restituisce un valore che indica se l'intestazione specificata e il relativo valore sono stati aggiunti all'insieme HttpHeaders senza convalidare le informazioni fornite.
public:
bool TryAddWithoutValidation(System::String ^ name, System::String ^ value);
public bool TryAddWithoutValidation(string name, string value);
public bool TryAddWithoutValidation(string name, string? value);
member this.TryAddWithoutValidation : string * string -> bool
Public Function TryAddWithoutValidation (name As String, value As String) As Boolean
Parametri
- name
- String
Intestazione da aggiungere alla raccolta.
- value
- String
Contenuto dell'intestazione.
Restituisce
true se l'intestazione name specificata e value può essere aggiunta all'insieme; in caso contrario false, .
Commenti
Questo metodo esegue la convalida del nome dell'intestazione, restituendo false nomi non validi. I nomi di intestazione vengono applicati per essere token HTTP validi, in cui un token viene definito come qualsiasi set di lettere, cifre o simboli ASCII del "!#$%&'*+-.^_`|~" set, che corrispondono alla definizione di RFC9110. I caratteri non ASCII non sono consentiti in un nome di intestazione.
Questo metodo non esegue alcuna convalida del valore di intestazione. I valori aggiunti tramite questo metodo vengono considerati attendibili e altre logiche dell'applicazione, ad esempio HttpClient, potrebbero non funzionare correttamente se non sono ben formate.
I valori aggiunti senza convalida possono essere osservati durante l'enumerazione della raccolta o l'esecuzione di query per il nome di intestazione specifico, anche quando il chiamante non usa la NonValidated visualizzazione della raccolta.
Attenzione
Questo metodo non deve mai essere usato con valori non attendibili, a meno che non siano sufficientemente convalidati.
Ciò che costituisce la convalida "sufficiente" può variare in base al caso d'uso. Come minimo, proibire caratteri di nuova riga per la correttezza del protocollo, if (value.ContainsAny('\r', '\n', '\0')) throw ...ad esempio . Questa convalida deve garantire che l'applicazione server veda i valori nello stesso modo dell'applicazione client, con il server che ora è responsabile della corretta purificazione dei propri input.
Per proteggersi da attacchi come il contrabbando di richieste, i chiamanti sono altamente incoraggiati a verificare che questi valori non contengano caratteri di nuova riga.