从客户端(Content="<EM ><STRONG ><U >这是测试这...")中检测到有潜在危险的Request.Form 值。

从客户端(Content="<EM ><STRONG ><U >这是测试这...")中检测到有潜在危险的Request.Form 值。

说明: 请求验证过程检测到有潜在危险的客户端输入值,对请求的处理已经中止。该值可能指示存在危及应用程序安全的尝试,如跨站点脚本攻击。若要允许页面重写应用程序请求验证设置,请将 httpRuntime 配置节中的 requestValidationMode 特性设置为requestValidationMode="2.0"。示例: <httpRuntime requestValidationMode="2.0" / >。设置此值后,可通过在 Page 指令或 <pages > 配置节中设置 validateRequest="false" 禁用请求验证。但是,在这种情况下,强烈建议应用程序显式检查所有输入。有关更多信息,请参见http://go.microsoft.com/fwlink/?LinkId=153133。

原以为就像普通的Asp.net页面一样,在头部的Page中加入ValidateRequest="false"就行了,谁知问题还是存在。弄了一个上午,问题终于解决,将解决方法汇总如下:

1,在出现该错误的页面头部的page中加入ValidateRequest="false",那么该页面的任何一次Post提交都不会再验证提交内容的安全性。
如:

<%@ Page Title="" Language="C#" MasterPageFile="~/Views/Manage/ViewMasterPageEdit.Master"     Inherits="System.Web.Mvc.ViewPage<MvcWebPhoto.Models.Entities.Article >"

ValidateRequest="false" % >

2,在web.config中的pages节中配置validateRequest="false",如:

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

但这样,整个项目中的所有Form请求都不再验证提交内容的安全性,极不提倡这种做法。

3,如果你使用的是.Net 3.5,MVC 2.0及更高的版本,那么可以在处理Post方法的Action添加一个特性:[ValidateInput(false)],这样处理就更加有针对性,提高页面的安全性。
如:

[HttpPost]
[ValidateInput(false)]
public ActionResult CatalogEdit(Catalog model)
{
return View();
}

重要
如果你使用的是MVC 3.0,那么你会发现做了以上的设置后还是无效。这是因为你还需要在web.config中做以下设置:

<system.web >
<httpRuntime requestValidationMode="2.0" / >
</system.web >

注意:在MVC项目中,Views文件夹下与主项目下,都会有一个web.config文件。Views下的web.config文件只对Views文件夹下面的文件有效。如果你要处理的页面不在Views下面,那么<httpRuntime requestValidationMode="2.0" / >一定要设置在主项目下的web.config中才有用。

时间: 2024-10-05 03:51:30

从客户端(Content="<EM ><STRONG ><U >这是测试这...")中检测到有潜在危险的Request.Form 值。的相关文章

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

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

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

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

从客户端(Content=&quot;&lt;p&gt;测试&lt;/p&gt;&quot;)中检测到有潜在危险的 Request.Form 值

.NetFrameWork 4.0 Validaterequest="false"不起作用 要恢复到2.0的ASP.NET请求验证功能的行为,要在以下设置 Web.config中 文件添加: <httpRuntime requestValidationMode="2.0" /> 否则,即使在页面代码中添加validaterequest="false"也不起作用. 追问: 我这就是.netframework 4.0 但是我不能换成2.0

从客户端(content=&quot;&lt;p&gt;&amp;nbsp; &amp;nbsp; &amp;nb...&quot;)中检测到有潜在危险的 Request.Form 值。

从客户端(content="<p>    &nb...")中检测到有潜在危险的 Request.Form 值. 说明: ASP.NET 在请求中检测到包含潜在危险的数据,因为它可能包括 HTML 标记或脚本.该数据可能表示存在危及应用程序安全的尝试,如跨站点脚本攻击.如果此类型的输入适用于您的应用程序,则可包括明确允许的网页中的代码.有关 详细信息,请参阅 http://go.microsoft.com/fwlink/?LinkID=212874. 异常详细信息:

从客户端(content=&quot;&lt;p&gt;&lt;/p&gt;&quot;)中检测到有潜在危险的 Request.Form 值。

近期的网站要做一个新闻模块,网站后台需要对新闻进行管理,拿到富文本编辑器的内容,在获取的时候会报一个错误:从客户端(content="<p>.....</p>")中检测到有潜在危险的 Request.Form 值. 原来在.net中,Request时出现有HTML或Javascript等字符串时,系统会认为是危险性值,所以需要我们去掉验证. 解决方案如下: 给对应的controller的方法加特性 [ValidateInput(false)] 问题解决. 在网上

解决从客户端(Content=&quot;&lt;div&gt;&lt;p &gt;&lt;p&gt;12312...&quot;)中检测到有潜在危险的Request.Form 值。

[HttpPost] [ValidateInput(false)]//解决从客户端(Content="<div><p ><p>12312...")中检测到有潜在危险的Request.Form 值. public ActionResult EditInfo() { return View(); } 原文地址:https://www.cnblogs.com/SeNaiTes/p/8966551.html

&quot;从客户端中检测到有潜在危险的 Request.Form 值&quot;的解决方案汇总

#事故现场 在一个asp.net 的项目中,前端通过ajax将富文本中的文字内容post到服务端的一个ashx中,在ashx中尝试读取参数值时, 结果报错:“从客户端中检测到有潜在危险的 Request.Form 值” #事故分析 由于在asp.net中,Request提交时出现有html代码字符串时,程序系统会认为其具有潜在危险的值.会报出“从客户端 中检测到有潜在危险的Request.Form值”这样的Error. 而富文本中的内容是包含html代码的,所以... #解决方案: 1.前端对富

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

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

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

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