İstemcide zararlı olabilecek bir değer Request.Form algılandı hatası (çözüm)
System.Web.HttpRequestValidationException: İstemcide zararlı olabilecek bir değer Request.Form algılandı.
System.Web.HttpRequestValidationException: A potentially dangerous Request.Form value was detected from the client.
Gibi bir hata alıyor iseniz web form ve mvc için çözümler aşağıdaki gibi;
ASP.NET MVC için çözüm;
Şeklindeki hatayı [AllowHtml] kodu ile çözebilirsiniz. Kodu model sınıfınızda ilgili alanın üstüne eklemeniz yeterli.
using System.Web.Mvc;
public partial class tUrunler
{
public int tUrunID{ get; set; }
[AllowHtml]
public string UrunBody { get; set; }
}
ASP.NET Web Form İçin Çözüm;
web.config dosyasına aşağıdakileri ekleyin.
<system.web>
<compilation debug="true" targetFramework="4.0" />
<httpRuntime requestValidationMode="2.0" />
</system.web>
Daha sonra sayfanın Page yönergesine ValidateRequest="false" bildirimini ekleyin.
<%@ Page Language="C#" ValidateRequest="false" %>
ASHX (HttpHandler) ile ajax işlmeleri yapıyor ve bu hatayı alıyor iseniz aşağıdaki yöntemi tavsiye ederim. "Unvalidated" ile devre dışıda bırakabiliriz.
var requestForm = context.Request.Unvalidated.Form;
tUrunler otUrunler = new tUrunler();
otUrunler.Kategori = int.Parse(requestForm["ddlKategori"]);
otUrunler.UrunAdi= requestForm["txtUrunAdi"];
otUrunler.UrunAciklama = requestForm["txtBody"];
Bu özellik kapatıldığında/devre dışı bırakıldığında XSS (Cross Site Scripting) güvenlik açıklarına karşı sayfamız/projemiz açık olacaktır.. genelde admin panelinde devre dışı bırakız. aman haa bilinçli kapatın diyoruz!..