رفع خطای a potentially dangerous request error در ASP.Net

متن خطا:

Server Error in 'ASP.Net' Application.   A potentially dangerous Request.Form value was detected from the client (TextBox1"=<p>Hello</p>").  Description: Request Validation has detected a potentially dangerous client input value, and processing of the request has been aborted. This value may indicate an attempt to compromise the security of your application, such as a cross-site scripting attack. You can disable request validation by setting validateRequest=false in the Page directive or in the configuration section. However, it is strongly recommended that your application explicitly check all inputs in this case.  Exception Details: System.Web.HttpRequestValidationException: A potentially dangerous Request.Form value was detected from the client (TextBox1="<p>Hello</p>"). 

علت بروز خطا:

در حالت پیش فرض ASP.Net از اجرا شدن کدها HTML و Script های خطرناک در Content کنترل های خود جلوگیری مینماید. این بدین دلیل است که از حملاتی مانند SQL Injection جلوگیری نماید.

راه حل

غیر فعال نمودن ValidateRequest برای هر صفحه به صورت جداگانه:

<%@ Page Language="C#" AutoEventWireup="true" ValidateRequest = "false"> 

غیر فعال نمودن ValidateRequest برای تمامی صفحات با استفاده از فایل Web.Config

<pages validateRequest ="false" /> 

لازم به ذکر است برای نسخه های دات نت 4 به بالا میبایست قطعه کد ذیل را نیز در فایل Web.Config اضافه نمایید.

<httpRuntime requestValidationMode = "2.0" /> 

امیدوارم این راهنما به رفع مشکل شما کمک کرده باشد.


دیدگاهتان را بنویسید

نشانی ایمیل شما منتشر نخواهد شد. بخش‌های موردنیاز علامت‌گذاری شده‌اند *

19 − هجده =