HttpRuntimeSection.EnableHeaderChecking Özellik
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 denetiminin etkin olup olmadığını belirten bir değer alır veya ayarlar.
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
Özellik Değeri
true
üst bilgi denetimi etkinse; aksi takdirde , false
.
true
varsayılan değerdir.
- Öznitelikler
Örnekler
Aşağıdaki örnekte özelliğinin nasıl kullanılacağı gösterilmektedir 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
Açıklamalar
Bu özelliğin amacı, \r
yanıt üst bilgilerinde bulunan satır başı ve yeni satır karakterlerinin ve \n
kodlamasını etkinleştirmektir.
Giden yanıt üst bilgilerinde, 0x1F ve altındaki kodlarla temsil edilen karakterler ve ayrıca karakter 0x7F (karakteri sil) kodlanır. Tek istisna, 0x09 karakterinin (sekme karakteri) değiştirilmemiş olmasıdır.
Bu kodlama, üst bilgi tarafından kapsanan güvenilmeyen verileri yankılayan bir uygulamadan yararlanan ekleme saldırılarını önlemeye yardımcı olabilir.
Not
Bu özellik durum satırının kendisine (durum kodu ve durum açıklaması) uygulanmaz, ancak diğer üst bilgiler için geçerli olmalıdır. <httpRuntime> herhangi bir düzeyde ayarlansa da, bu özellik yalnızca makine ve uygulama düzeyinde geçerlidir.
Bu özellik true
varsayılan olan olduğunda, \r
yanıt üst bilgisinde bulunan veya \n
karakterleri ve %0a
ile %0d
kodlanır. Bu, eklenen malzemeyi aynı üst bilgi satırının parçası yaparak üst bilgi ekleme saldırılarını alt eder. Bu, yanıtı bozabilir ancak istemciye karşı saldırı vektörlerini açmamalıdır. Güvenilmeyen verileri geri döndürmek hiçbir durumda iyi bir fikir değildir.
Önemli
HTTP üst bilgisi devamlılıkları, birden çok satıra yayılan üst bilgileri kullanır ve bunlarda yeni satırlar gerektirir. Üst bilgi devamlılıklarını kullanmanız gerekiyorsa özelliğini olarak false
ayarlamanız EnableHeaderChecking gerekir. Üst bilgilere bakmanın performansı etkilediğinden, zaten doğru denetimleri yaptığınızdan eminseniz, bu özelliği kapatmak uygulamanızın performansını artırabilir. Bu özelliği devre dışı bırakmadan önce bu alanda zaten doğru önlemleri almış olduğunuzdan emin olun.