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

Leave a Reply