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

“/”应用程序中的服务器错误。


从客户端(Copyright="<meta name="viewport...")中检测到有潜在危险的 Request.Form 值。

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

异常详细信息: System.Web.HttpRequestValidationException: 从客户端(Copyright="<meta name="viewport...")中检测到有潜在危险的 Request.Form 值。

解决方法:

在接收消息的方法上面打一个特性标签:[ValidateInput(false)]

转载其他博主的文章:

说明: 请求验证过程检测到有潜在危险的客户端输入值,对请求的处理已经中止。

该值可能指示存在危及应用程序安全的尝试,如跨站点脚本攻击。若要允许页面重写应用程序请求验证设置,
请将 httpRuntime 配置节中的 requestValidationMode 特性设置为 requestValidationMode="2.0"。
示例: <httpRuntime requestValidationMode="2.0" />。设置此值后,可通过在 Page 指令或 <pages> 配置节中设置 validateRequest="false" 禁用请求验证。但是,在这种情况下,强烈建议应用程序显式检查所有输入。
有关更多信息,请参见 http://go.microsoft.com/fwlink/?LinkId=153133。 
异常详细信息: System.Web.HttpRequestValidationException: 从客户端(myname="<p>test</p>")中检测到有潜在危险的 Request.Form 值。
如果一定要输入含标记的内容,解决方法:
(1)修改web.config
<system.web>
.....
<httpRuntime requestValidationMode="2.0" />
</system.web>
(2)Controller中添加[ValidateInput(false)]
例如:
[ValidateInput(false)]
public ActionResult SendData()
{
....
}

原文地址:https://www.cnblogs.com/renhongwei/p/6138136.html