Asp.Net Request Validation

Bloğumu tasarladıktan sonra admin paneli oluşturmaya gelmişti sıra, admin panelini oluşturana kadar ilk 5 makalemi MSSQL içinden kendim editleyerek yazıyordum. Ne zaman admin panelini oluşturdum ve ASP.NET içinden makalemi yazıp MSSQL'e göndermek istedim o zaman Request validation has detected a potentially dangerous input value hatasıyla karşılaştım. Baya uğraşmıştım çözmek için. Türkçe kaynaklarda çözüm bulmak çok zor ingilizce kaynaklara yöneldim.

Sorunun asıl sebebi makale yazarken CKEditor, SCEditor veya benzerleri text editor kullanıyorsanız html kodlarını kullandıysanız (mesela <div> <ul> <br /> gibi ) SQL'e göndermek istediğinizde direk Request validation has detected a potentially dangerous input value hatasını alırsınız. Bu işlemi bir saldırı gibi algılıyor ve bize hata mesajı veriyor.

Bunu çözmenin birkaç yolu var, ben bunlardan birini sizlere anlatacağım.

1. Adım : İlk olarak Web.config dosyamızı açıyoruz ve system.web kodunun arasına şu kodları ekliyoruz.

<httpRuntime requestValidationMode = "2.0"/>

(default değeri 4.0'dır)

2. Adım : Daha sonra .aspx uzantılı dosyamızı (örneğin default.aspx) açıyoruz. <%@ ile başlayan en üst satıra ValidateRequest="false" yazıyoruz. Artık bu tip bir sorunla karşılaşmayacaksınız.

Önemli Uyarı: Tüm yetkiyi ele aldınız fakat bu yetki size pahalıya mal olabilir o yüzden sadece admin paneli içinde bu yetkiyi vermenizi öneriyorum. Blogunuzun herhangi bir yerinde üye yorum kısmı için de bu yetkiyi verirseniz hacklenebilirsiniz.

Sonraki makalede görüşmek üzere, iyi günler.

Blog Yorumları (0 Yorum)

avatar
  1. avatar avatar

    {{comment.Name}} dedi ki

Bu makaleyi faydalı buldunuz mu?

Bu içerikle ilgili görüşleriniz önemlidir. Ne düşündüğünüzü söyleyin.

Bu makale faydalı mıydı?

Üzgünüm faydalı değil.
Bildiriminiz gönderiliyor...
Geri bildiriminiz için teşekkürler!
Gönderme sırasında hata alındı!