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

本文介绍了解决ASP.NET应用程序中出现的HttpRequestValidationException异常的方法。该异常通常由潜在不安全的客户端输入引起,文中提供了两种解决方案:一是通过修改web.config文件中的httpRuntime配置;二是使用Controller级别的[ValidateInput(false)]特性。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

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

该值可能指示存在危及应用程序安全的尝试,如跨站点脚本攻击。若要允许页面重写应用程序请求验证设置,
请将 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()
{
....
}

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值