ASP.NET 4.0 ve ValidateRequest Problemi
Merhaba arkadaşlar; daha bugün deneyimlediğim ve taze taze paylaşmak istediğim bir konu bu. Öncelikle, bir / sayfasının @Page direktifinin bir üyesi olan ValidateRequest özelliğinin ne olduğundan kısaca bahsedelim.
Bildiğiniz gibi, bazı web sitelerinde (özellikle forum sitelerinde); kullanıcı, yorum için ayrılmış olan kısma HTML etiketlerini kullanarak, bazı basit işlemler yapabilir (link vermek bunlardan biri). Fakat, XSS saldırısı olarak bilinen ve çok canlar yakan bir yöntemden dolayı, böyle bir talep (request) asp.net web form tarafından red edilir.
İşte bu request’i reddetmesini sağlayan şey, sayfanın @Page direktifinin ValidateRequest özelliğinin true olmasıdır. Normal şartlarda, yukarıdaki gibi bir durumu, sayfanızda uygulamak istiyorsanız, @Page içine ValidateRequest=”false” yazmanız yererli olurdu… Fakat, asp.net 4.0 teknolojisinde; bu yeterli değil. Küçük bir değişiklik daha yapmanız gerekiyor.
Eğer sayfanıza gelen her request’i denetlemeden kabul edecekseniz; öncelikle web.config dosyasına gidip aşağıdaki şekilde kodu ekliyoruz:
<system.web> <httpRuntime requestValidationMode="2.0"/> </system.web>
İşte bu kadar.
Kolay gelsin