HttpHeaders.TryAddWithoutValidation Metódus

Definíció

Olyan értéket ad vissza, amely azt jelzi, hogy egy új fejléc és annak értékei a fejlécértékek ellenőrzése nélkül lettek-e hozzáadva a HttpHeaders gyűjteményhez.

Túlterhelések

Name Description
TryAddWithoutValidation(String, IEnumerable<String>)

Olyan értéket ad vissza, amely azt jelzi, hogy a megadott fejléc és értékei a megadott információk ellenőrzése nélkül lettek-e hozzáadva a HttpHeaders gyűjteményhez.

TryAddWithoutValidation(String, String)

Olyan értéket ad vissza, amely azt jelzi, hogy a megadott fejléc és annak értéke a megadott információk érvényesítése nélkül lett-e hozzáadva a HttpHeaders gyűjteményhez.

TryAddWithoutValidation(String, IEnumerable<String>)

Forrás:
HttpHeaders.cs
Forrás:
HttpHeaders.cs
Forrás:
HttpHeaders.cs
Forrás:
HttpHeaders.cs
Forrás:
HttpHeaders.cs

Olyan értéket ad vissza, amely azt jelzi, hogy a megadott fejléc és értékei a megadott információk ellenőrzése nélkül lettek-e hozzáadva a HttpHeaders gyűjteményhez.

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

Paraméterek

name
String

A gyűjteményhez hozzáadni kívánt fejléc.

values
IEnumerable<String>

A fejléc értékei.

Válaszok

true ha a megadott fejlécet name , és values hozzáadható a gyűjteményhez; ellenkező esetben false.

Megjegyzések

Ez a metódus végrehajtja a fejlécnév ellenőrzését, és érvénytelen neveket ad false vissza. A fejlécnevek érvényes HTTP-jogkivonatokként lesznek kikényszeríthetők, ahol a jogkivonatok asCII-betűk, számjegyek vagy szimbólumok készleteként vannak definiálva, "!#$%&'*+-.^_`|~" amelyek megfelelnek RFC9110 definíciójának. A nem ASCII-karakterek nem használhatók fejlécnévben.

Ez a metódus nem végez fejlécérték-ellenőrzést. Az ezzel a módszerrel hozzáadott értékek megbízhatónak minősülnek, és más alkalmazáslogika, például HttpClienthelytelenül működik, ha nem megfelelően vannak formázva.

Az ellenőrzés nélkül hozzáadott értékek akkor is megfigyelhetők, ha a gyűjteményt számba véve vagy az adott fejlécnév lekérdezésével történik, még akkor is, ha a hívó nem használja a NonValidated gyűjtemény nézetét.

Figyelmeztetés

Ezt a módszert soha nem szabad nem megbízható értékekkel használni, kivéve, ha egyébként megfelelően ellenőrizték őket.

A "megfelelő" ellenőrzés használati esettől függően változhat. Legalább tiltsa be az új vonal karaktereit a protokoll helyességéhez, if (value.ContainsAny('\r', '\n', '\0')) throw ...például. Az ellenőrzésnek biztosítania kell, hogy a kiszolgálóalkalmazás ugyanúgy látja az értékeket, mint az ügyfélalkalmazás, és a kiszolgáló feladata a saját bemeneteinek megfelelő megtisztítása.

Az olyan támadások elleni védelem érdekében, mint a kérések csempészése, a hívóknak erősen ajánlott ellenőrizniük, hogy ezek az értékek nem tartalmaznak-e újvonalas karaktereket.

A következőre érvényes:

TryAddWithoutValidation(String, String)

Forrás:
HttpHeaders.cs
Forrás:
HttpHeaders.cs
Forrás:
HttpHeaders.cs
Forrás:
HttpHeaders.cs
Forrás:
HttpHeaders.cs

Olyan értéket ad vissza, amely azt jelzi, hogy a megadott fejléc és annak értéke a megadott információk érvényesítése nélkül lett-e hozzáadva a HttpHeaders gyűjteményhez.

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

Paraméterek

name
String

A gyűjteményhez hozzáadni kívánt fejléc.

value
String

A fejléc tartalma.

Válaszok

true ha a megadott fejlécet name , és value hozzáadható a gyűjteményhez; ellenkező esetben false.

Megjegyzések

Ez a metódus végrehajtja a fejlécnév ellenőrzését, és érvénytelen neveket ad false vissza. A fejlécnevek érvényes HTTP-jogkivonatokként lesznek kikényszeríthetők, ahol a jogkivonatok asCII-betűk, számjegyek vagy szimbólumok készleteként vannak definiálva, "!#$%&'*+-.^_`|~" amelyek megfelelnek RFC9110 definíciójának. A nem ASCII-karakterek nem használhatók fejlécnévben.

Ez a metódus nem végez fejlécérték-ellenőrzést. Az ezzel a módszerrel hozzáadott értékek megbízhatónak minősülnek, és más alkalmazáslogika, például HttpClienthelytelenül működik, ha nem megfelelően vannak formázva.

Az ellenőrzés nélkül hozzáadott értékek akkor is megfigyelhetők, ha a gyűjteményt számba véve vagy az adott fejlécnév lekérdezésével történik, még akkor is, ha a hívó nem használja a NonValidated gyűjtemény nézetét.

Figyelmeztetés

Ezt a módszert soha nem szabad nem megbízható értékekkel használni, kivéve, ha egyébként megfelelően ellenőrizték őket.

A "megfelelő" ellenőrzés használati esettől függően változhat. Legalább tiltsa be az új vonal karaktereit a protokoll helyességéhez, if (value.ContainsAny('\r', '\n', '\0')) throw ...például. Az ellenőrzésnek biztosítania kell, hogy a kiszolgálóalkalmazás ugyanúgy látja az értékeket, mint az ügyfélalkalmazás, és a kiszolgáló feladata a saját bemeneteinek megfelelő megtisztítása.

Az olyan támadások elleni védelem érdekében, mint a kérések csempészése, a hívóknak erősen ajánlott ellenőrizniük, hogy ezek az értékek nem tartalmaznak-e újvonalas karaktereket.

A következőre érvényes: