解决asp.net中“从客户端中检测到有潜在危险的Request.Form值”的问题

在提交表单时候,asp.net
提示:"从客户端(......)中检测到有潜在危险的 Request.Form 值"
。asp.net中的请求验证特性提供了某一等级的保护措施防止XSS攻击,asp.net的请求验证是默认启动的。这个给出各个版本.net的解决方法。

asp.net
2.0 通常解决办法

方案一:

将.aspx文件中的page项添加ValidateRequest="false"
,如下:

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

方案二:

修改web.config配置文件

 <system.web> 
  <pages
validateRequest="false" > 
  </pages> 
 </system.web> 

总结:validateRequest
这句我们知道是关闭验证,也就是说提交带标签,比如 <strong>粗体</strong> 这样的值时,ASP.NET
不会报错。这里推荐使用方案一,因为方案一只修改test.aspx这一个页面;而如果使用方案二的话,将是整个解决方案都变成ValidateRequest="false"


asp.net
4.0 解决办法

4.0和2.0的方法一样,不过要注意的是从
.Net Framework 4.0 开始,asp.net开始强制检测Request参数安全,而我们可以通过修改 Web.config 来恢复 2.0
版本的模式。

方法如下:

修改Web.config,增加requestValidationMode="2.0"属性值

 <system.web>
  <httpRuntime
requestValidationMode="2.0" />
  <pages
validateRequest="false"></pages>
 </system.web>

4.0
中多了一个 requestValidationMode,这是什么意思呢?

requestValidationMode
有两个值:

?2.0仅对网页启用请求验证。是启用还是关闭取决于
validateRequest。

?4.0
默认值。任何 HTTP 请求都会启用请求验证,也就是说不光是网页,还包括 Cookie 等。此时强制启用,不管 validateRequest
为何值。

由于
requestValidationMode="4.0" 是强制启用,所以我们会发现在 .NET Framework 4.0 中仅靠设置
validateRequest 是关闭不了请求验证的,还得将 requestValidationMode 设置为 2.0。

解决asp.net中“从客户端中检测到有潜在危险的Request.Form值”的问题,码迷,mamicode.com

时间: 2025-01-08 10:22:56

解决asp.net中“从客户端中检测到有潜在危险的Request.Form值”的问题的相关文章

Asp.net 从客户端中检测到有潜在危险的Request.Form值

解决方法: 在Web.config文件里找到<httpRuntime>节点,然后修改requestValidationMode="2.0" 修改结果如下: <system.web> <httpRuntime targetFramework="4.5" requestValidationMode="2.0"/> <system.web> 如果是asp.net应用程序 <% @ Page Vali

从客户端中检测到有潜在危险的 request.form值[解决方法]

当页面编辑或运行提交时,出现"从客户端中检测到有潜在危险的request.form值"问题,该怎么办呢?如下图所示: 从客户端中检测到有潜在危险的 request 下面博主汇总出现这种错误的几种解决方法: 问题原因:由于在asp.net中,Request提交时出现有html代码或javascript等字符串时,程序系统会认为其具有潜在危险的值.环境配置会报出"从客户端 中检测到有潜在危险的Request.Form值"这样的Error. 1.当前提交页面,添加代码 打

从客户端中检测到有潜在危险的Request.Form值 的解决方法

在提交表单时候,asp.net 提示:"从客户端(......)中检测到有潜在危险的 Request.Form 值" .asp.net中的请求验证特性提供了某一等级的保护措施防止XSS攻击,asp.net的请求验证是默认启动的.这个给出各个版本.net的解决方法. asp.net 2.0 通常解决办法 方案一: 将.aspx文件中的page项添加ValidateRequest="false" ,如下: <%@ Page ValidateRequest=&quo

MVC中提示错误:从客户端中检测到有潜在危险的 Request.Form 值的详细解决方法

今天往MVC中加入了一个富文本编辑框,在提交信息的时候报了如下的错误:从客户端(Content="<EM ><STRONG ><U >这是测试这...")中检测到有潜在危险的Request.Form 值.说明: 请求验证过程检测到有潜在危险的客户端输入值,对请求的处理已经中止.该值可能指示存在危及应用程序安全的尝试,如跨站点脚本攻击.若要允许页面重写应用程序请求验证设置,请将 httpRuntime 配置节中的 requestValidationMo

从客户端中检测到有潜在危险的Request.Form值的解决方法

描述:从客户端中检测到有潜在危险的Request.Form值的解决方法asp.net 2.0 通常解决办法将.aspx文件中的page项添加ValidateRequest="false"或者修改配置文件 <system.web> <pages validateRequest="false" > </pages> </system.web> 从客户端中检测到有潜在危险的Request.Form值的解决方法

Asp.net mvc3的“从客户端中检测到有潜在危险的 Request.Form 值”问题解决

Asp.net mvc3的“从客户端(content_v=\",<p>\n\t<imgalt=\"\" src...\")中检测到有潜在危险的Request.Form 值”解决 在三个地方修改 1.     在Controller调用的方法上添加[ValidateInput(false)] [ValidateInput(false)] ublic ActionResult EventSave() 2.在对应的asp.net web页面上加上Vali

【异常记录(七)】MVC:从客户端中检测到有潜在危险的 Request.Form 值 的解决方法 [转]

从客户端(Content="<EM ><STRONG ><U >这是测试这...")中检测到有潜在危险的Request.Form 值. 说明: 请求验证过程检测到有潜在危险的客户端输入值,对请求的处理已经中止.该值可能指示存在危及应用程序安全的尝试,如跨站点脚本攻击. 若要允许页面重写应用程序请求验证设置,请将 httpRuntime 配置节中的 requestValidationMode 特性设置为requestValidationMode=&qu

ASP.NET MVC4(Razor)从客户端中检测到有潜在危险的 Request.Form 值

说明: 请求验证过程检测到有潜在危险的客户端输入值,对请求的处理已经中止. 该值可能指示存在危及应用程序安全的尝试,如跨站点脚本攻击.若要允许页面重写应用程序请求验证设置,请将 httpRuntime 配置节中的 requestValidationMode 特性设置为 requestValidationMode="2.0".示例: <httpRuntime requestValidationMode="2.0" />.设置此值后,可通过在 Page 指令

ASP.NET MVC从客户端中检测到有潜在危险的 Request.Form 值

ASP.NET MVC4(Razor)从客户端中检测到有潜在危险的 Request.Form 值 “/”应用程序中的服务器错误. 从客户端(Content=" sdfdddd ...")中检测到有潜在危险的 Request.Form 值. 说明: ASP.NET 在请求中检测到包含潜在危险的数据,因为它可能包括 HTML 标记或脚本.该数据可能表示存在危及应用程序安全的尝试,如跨站点脚本攻击.如果此类型的输入适用于您的应用程序,则可包括明确允许的网页中的代码.有关详细信息,请参阅 ht