HttpHeaders.TryAddWithoutValidation Yöntem
Tanım
Önemli
Bazı bilgiler ürünün ön sürümüyle ilgilidir ve sürüm öncesinde önemli değişiklikler yapılmış olabilir. Burada verilen bilgilerle ilgili olarak Microsoft açık veya zımni hiçbir garanti vermez.
Üst bilgi değerlerini doğrulamadan koleksiyona yeni bir üst bilgi ve değerlerinin eklenip eklenmediğini HttpHeaders gösteren bir değer döndürür.
Aşırı Yüklemeler
| Name | Description |
|---|---|
| TryAddWithoutValidation(String, IEnumerable<String>) |
Belirtilen üst bilginin ve değerlerinin sağlanan bilgileri doğrulamadan koleksiyona eklenip eklenmediğini HttpHeaders gösteren bir değer döndürür. |
| TryAddWithoutValidation(String, String) |
Belirtilen üst bilginin ve değerinin sağlanan bilgileri doğrulamadan koleksiyona eklenip eklenmediğini HttpHeaders gösteren bir değer döndürür. |
TryAddWithoutValidation(String, IEnumerable<String>)
- Kaynak:
- HttpHeaders.cs
- Kaynak:
- HttpHeaders.cs
- Kaynak:
- HttpHeaders.cs
- Kaynak:
- HttpHeaders.cs
- Kaynak:
- HttpHeaders.cs
Belirtilen üst bilginin ve değerlerinin sağlanan bilgileri doğrulamadan koleksiyona eklenip eklenmediğini HttpHeaders gösteren bir değer döndürür.
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
Parametreler
- name
- String
Koleksiyona eklenecek üst bilgi.
- values
- IEnumerable<String>
Üst bilginin değerleri.
Döndürülenler
true belirtilen üst bilgi name ve values koleksiyona eklenebiliyorsa; aksi takdirde false.
Açıklamalar
Bu yöntem, geçersiz adlar için döndürerek false üst bilgi adı doğrulaması gerçekleştirir. Üst bilgi adları geçerli HTTP belirteçleri olarak zorlanır; burada bir belirteç kümeden "!#$%&'*+-.^_`|~" herhangi bir ASCII harfi, rakam veya simge kümesi olarak tanımlanır ve RFC9110 tanımıyla eşleşir. Üst bilgi adında ASCII olmayan karakterlere izin verilmez.
Bu yöntem herhangi bir üst bilgi değeri doğrulaması gerçekleştirmez. Bu yöntemle eklenen değerlerin güvenilir olduğu varsayılır ve gibi HttpClientdiğer uygulama mantığı iyi biçimlendirilmemişse yanlış davranabilir.
Çağıran koleksiyonun görünümünü kullanmasa NonValidated bile, koleksiyon numaralandırılırken veya belirli üst bilgi adı için sorgulanırken doğrulama olmadan eklenen değerler gözlemlenebilir.
Dikkat
Bu yöntem, aksi takdirde yeterince doğrulanmadıkları sürece güvenilmeyen değerlerle asla kullanılmamalıdır.
"Yeterli" doğrulamayı oluşturan şey kullanım örneğine göre farklılık gösterebilir. En azından, protokol doğruluğu için yeni satır karakterlerini yasaklayın; örneğin, if (value.ContainsAny('\r', '\n', '\0')) throw .... Bu doğrulama, sunucu uygulamasının değerleri istemci uygulamasıyla aynı şekilde gördüğünden ve sunucunun artık kendi girişlerini düzgün bir şekilde temizlemekten sorumlu olduğundan emin olması gerekir.
İstek kaçakçılığı gibi saldırılara karşı koruma sağlamak için, arayanların bu değerlerin yeni satır karakterleri içermediğini doğrulamaları önemle tavsiye edilir.
Şunlara uygulanır
TryAddWithoutValidation(String, String)
- Kaynak:
- HttpHeaders.cs
- Kaynak:
- HttpHeaders.cs
- Kaynak:
- HttpHeaders.cs
- Kaynak:
- HttpHeaders.cs
- Kaynak:
- HttpHeaders.cs
Belirtilen üst bilginin ve değerinin sağlanan bilgileri doğrulamadan koleksiyona eklenip eklenmediğini HttpHeaders gösteren bir değer döndürür.
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
Parametreler
- name
- String
Koleksiyona eklenecek üst bilgi.
- value
- String
Üst bilginin içeriği.
Döndürülenler
true belirtilen üst bilgi name ve value koleksiyona eklenebiliyorsa; aksi takdirde false.
Açıklamalar
Bu yöntem, geçersiz adlar için döndürerek false üst bilgi adı doğrulaması gerçekleştirir. Üst bilgi adları geçerli HTTP belirteçleri olarak zorlanır; burada bir belirteç kümeden "!#$%&'*+-.^_`|~" herhangi bir ASCII harfi, rakam veya simge kümesi olarak tanımlanır ve RFC9110 tanımıyla eşleşir. Üst bilgi adında ASCII olmayan karakterlere izin verilmez.
Bu yöntem herhangi bir üst bilgi değeri doğrulaması gerçekleştirmez. Bu yöntemle eklenen değerlerin güvenilir olduğu varsayılır ve gibi HttpClientdiğer uygulama mantığı iyi biçimlendirilmemişse yanlış davranabilir.
Çağıran koleksiyonun görünümünü kullanmasa NonValidated bile, koleksiyon numaralandırılırken veya belirli üst bilgi adı için sorgulanırken doğrulama olmadan eklenen değerler gözlemlenebilir.
Dikkat
Bu yöntem, aksi takdirde yeterince doğrulanmadıkları sürece güvenilmeyen değerlerle asla kullanılmamalıdır.
"Yeterli" doğrulamayı oluşturan şey kullanım örneğine göre farklılık gösterebilir. En azından, protokol doğruluğu için yeni satır karakterlerini yasaklayın; örneğin, if (value.ContainsAny('\r', '\n', '\0')) throw .... Bu doğrulama, sunucu uygulamasının değerleri istemci uygulamasıyla aynı şekilde gördüğünden ve sunucunun artık kendi girişlerini düzgün bir şekilde temizlemekten sorumlu olduğundan emin olması gerekir.
İstek kaçakçılığı gibi saldırılara karşı koruma sağlamak için, arayanların bu değerlerin yeni satır karakterleri içermediğini doğrulamaları önemle tavsiye edilir.