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 etkinleştirilip etkinleştirilmediğini gösteren 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. Varsayılan değer true değeridir.
- Ö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ı, yanıt üst bilgilerinde bulunan satır başı ve yeni satır karakterlerinin \r ve \nkodlamasını etkinleştirmektir.
Giden yanıt üst bilgilerinde, 0x1F ve altındaki kodlarla temsil edilen karakterler ve ayrıca karakter 0x7F (silme karakteri) kodlanır. Tek istisna, 0x09 karakterinin (sekme karakteri) değiştirilmemiş olmasıdır.
Bu kodlama, üst bilginin içerdiği güvenilmeyen verileri yankılayan bir uygulamadan yararlanan ekleme saldırılarını önlemeye yardımcı olabilir.
Uyarı
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 truevarsayılan olan olduğunda, \r yanıt üst bilgisinde bulunan veya \n karakterleri ve %0aolarak %0d kodlanır. Bu, eklenen malzemeyi aynı üst bilgi satırının parçası yaparak üst bilgi ekleme saldırılarını yener. 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 bilgi 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 EnableHeaderCheckingayarlamanız false 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.