2010-08-23 17 views
6

Tüm sayfa yerine yalnızca belirli metin kutuları için istek doğrulama özelliğini devre dışı bırakmanın bir yolu var mı? ServerHtmlEncode/Decode kullanıyorum çünkü kullanıcılar < ve> karakterlerini kullanarak meşru bir şekilde kullanıyorlar ama bir sayfa daha sonra bir metin ekleyebileceğinden ve bu durumda girişten kaçmayı unuttuğumdan sayfadaki ValidateRequest="false" kullanmak istemiyorum. Doğrulama gerçekleşir, böylece hata, html enjeksiyonuna karşı savunmasız olmaktan ziyade keşfedilecektir.asp.net ValidateRequest = sayfa başına metin kutusu başına yanlış mı?

Basit bir çözüm olması gerekiyor gibi görünüyor, ancak bunu bulmakta hiç şansım yok.

(Webforms MVC)

+0

Eh acı olduğunu -> NET Cevabımı gönderdiğimde 4.5 yayınlanmadı. – Tommy

+0

@Tommy Soruyu sorduğumda ya da sorduğumda, ne kadar güncel bir cevap olduğunu ve bunu okuyan gelecekteki kullanıcılar için daha faydalı olacağını biliyorum. Cevabınız yine de kışkırtıldı. – Davy8

+0

Haha - Biliyorum :) Kişisel bir şey yok, ama kontrol etmem gerekiyordu. PS - Ben aşağıya benim .NET 5.0 yorum ile yakın gibi görünüyor. – Tommy

cevap

3

Resim, istek doğrulama tüm isteğe içindir ve element bazında bir öğe yapılamaz. Doğrulama isteği, ASP.NET tarafından varsayılan olarak etkinleştirilmiştir ve komut dosyası enjeksiyon saldırılarından HTML girdilerini dezenfekte etme konusunda bilmeyenlere yardımcı olmaktır. Aşağıda bazı bağlantıları daha okuma için gönderildi:

MSDN

Stackoverflow

+0

Ben kontrol başına bunu yapmanın bir yolu olmadığına inanmıyorum. Yaptıklarını bilen biri bile bazen unutabilir ve bir yedeğin olması iyi olur. Ancak yine de +1 çünkü tam tersine bir şey bulamadım. Yarın hiçbir şey gelmezse kabul edeceğim. – Davy8

+0

Belki de .NET 5.0 :) – Tommy

+0

için bir şey Bunun desteklenmediğinin gülünç olduğunu kabul ediyorum, fakat benim anlayışım, @Tommy'nin doğru olması, mevcut ASP.NET'te gerçekten mümkün değil. – Stuart

İlgili konular