HttpHeaders.TryAddWithoutValidation Metoda
Definice
Důležité
Některé informace platí pro předběžně vydaný produkt, který se může zásadně změnit, než ho výrobce nebo autor vydá. Microsoft neposkytuje žádné záruky, výslovné ani předpokládané, týkající se zde uváděných informací.
Vrátí hodnotu, která určuje, jestli se do HttpHeaders kolekce přidala nová hlavička a její hodnoty bez ověření hodnot záhlaví.
Přetížení
| Name | Description |
|---|---|
| TryAddWithoutValidation(String, IEnumerable<String>) |
Vrátí hodnotu, která určuje, jestli byla zadaná hlavička a její hodnoty přidány do HttpHeaders kolekce bez ověření zadaných informací. |
| TryAddWithoutValidation(String, String) |
Vrátí hodnotu, která určuje, zda byla zadaná hlavička a její hodnota přidány do HttpHeaders kolekce bez ověření zadaných informací. |
TryAddWithoutValidation(String, IEnumerable<String>)
- Zdroj:
- HttpHeaders.cs
- Zdroj:
- HttpHeaders.cs
- Zdroj:
- HttpHeaders.cs
- Zdroj:
- HttpHeaders.cs
Vrátí hodnotu, která určuje, jestli byla zadaná hlavička a její hodnoty přidány do HttpHeaders kolekce bez ověření zadaných informací.
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
Parametry
- name
- String
Záhlaví, které chcete přidat do kolekce.
- values
- IEnumerable<String>
Hodnoty záhlaví.
Návraty
true je-li zadána hlavička name a values lze ji přidat do kolekce; jinak false.
Poznámky
Tato metoda provádí ověření názvu hlavičky a vrací false neplatné názvy. Názvy hlaviček se vynucují tak, aby byly platné tokeny HTTP, kde je token definován jako libovolná sada písmen ASCII, číslic nebo symbolů ze "!#$%&'*+-.^_`|~" sady, které odpovídají definici RFC9110. V názvu hlavičky nejsou povolené znaky jiné než ASCII.
Tato metoda neprovádí žádné ověření hodnoty hlavičky. Hodnoty přidané touto metodou se předpokládají jako důvěryhodné a jiné aplikační logiky, jako HttpClientje například , by mohly být chybné, pokud nejsou správně vytvořené.
Hodnoty přidané bez ověření můžou být pozorovány při vytváření výčtu kolekce nebo dotazování na konkrétní název záhlaví, i když volající nepoužívá NonValidated zobrazení kolekce.
Upozornění
Tato metoda nesmí být nikdy použita s nedůvěryhodnými hodnotami, pokud nebyly jinak dostatečně ověřeny.
To, co představuje "dostatečné" ověření, se může lišit podle případu použití. Minimálně zakažte znaky nového řádku pro správnost protokolu, if (value.ContainsAny('\r', '\n', '\0')) throw ...například . Toto ověření by mělo zajistit, aby serverová aplikace viděla hodnoty stejným způsobem jako klientská aplikace, přičemž server je teď zodpovědný za správnou sanitaci vlastních vstupů.
Aby se hlídaly útoky, jako je pašování žádostí, volajícím se důrazně doporučuje ověřit, že tyto hodnoty neobsahují nové znaky.
Platí pro
TryAddWithoutValidation(String, String)
- Zdroj:
- HttpHeaders.cs
- Zdroj:
- HttpHeaders.cs
- Zdroj:
- HttpHeaders.cs
- Zdroj:
- HttpHeaders.cs
Vrátí hodnotu, která určuje, zda byla zadaná hlavička a její hodnota přidány do HttpHeaders kolekce bez ověření zadaných informací.
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
Parametry
- name
- String
Záhlaví, které chcete přidat do kolekce.
- value
- String
Obsah záhlaví.
Návraty
true je-li zadána hlavička name a value lze ji přidat do kolekce; jinak false.
Poznámky
Tato metoda provádí ověření názvu hlavičky a vrací false neplatné názvy. Názvy hlaviček se vynucují tak, aby byly platné tokeny HTTP, kde je token definován jako libovolná sada písmen ASCII, číslic nebo symbolů ze "!#$%&'*+-.^_`|~" sady, které odpovídají definici RFC9110. V názvu hlavičky nejsou povolené znaky jiné než ASCII.
Tato metoda neprovádí žádné ověření hodnoty hlavičky. Hodnoty přidané touto metodou se předpokládají jako důvěryhodné a jiné aplikační logiky, jako HttpClientje například , by mohly být chybné, pokud nejsou správně vytvořené.
Hodnoty přidané bez ověření můžou být pozorovány při vytváření výčtu kolekce nebo dotazování na konkrétní název záhlaví, i když volající nepoužívá NonValidated zobrazení kolekce.
Upozornění
Tato metoda nesmí být nikdy použita s nedůvěryhodnými hodnotami, pokud nebyly jinak dostatečně ověřeny.
To, co představuje "dostatečné" ověření, se může lišit podle případu použití. Minimálně zakažte znaky nového řádku pro správnost protokolu, if (value.ContainsAny('\r', '\n', '\0')) throw ...například . Toto ověření by mělo zajistit, aby serverová aplikace viděla hodnoty stejným způsobem jako klientská aplikace, přičemž server je teď zodpovědný za správnou sanitaci vlastních vstupů.
Aby se hlídaly útoky, jako je pašování žádostí, volajícím se důrazně doporučuje ověřit, že tyto hodnoty neobsahují nové znaky.