Validate Request hatası

Asp.net ile yaptığımız projelerde html içeriğe sahip string ifadeleri veritabanına çoğu kez kaydetmeye çalışmışızdır. Varsayılan durumda bu tipteki bir veriyi veritabanına kaydederken Validate Request hatasını alırız. 
Bunun sebebi sistem bu html içeriği bir saldırı olarak algılamakta ve hata vermektedir.

Bu hatayı engellemek için bu html içeriğe sahip string ifadeyi veritabanına kaydetmeye çalıştığımız sayfamızın Design tarafında ValidateRequest="false" ifadesi eklenir.

 <%@ Page Language="C#" AutoEventWireup="true" CodeFile="deneme.aspx.cs" Inherits="deneme" ValidateRequest="false" %>

Eğer projemizde tüm sayfalarda bu hatayla karşılaşmak istemiyorsak Web.config dosyasından bu ayarı aşağıdaki gibi yapabiliriz.

<pages  validateRequest="false" />

Eğer projemizi asp.net 4.0 ile yapıyorsak bunun içinde aşağıdaki kodu eklememiz gerekiyor.

<system.web>
  <httpruntime requestvalidationmode="2.0"></httpruntime>
 </system.web>

Artık html içerikli string ifadelerin veritabanı işlemlerinde kullanılması sorun çıkarmayacaktır.

Yorumlar