您的位置:首页 > 产品设计 > UI/UE

安全简单解决MVC 提示 检测到有潜在危险的 Request.Form 值.

2014-07-04 11:44 507 查看
一般使用富文本编辑器的时候。提交的表单中包含HTML字符,就会出现此错误提示。

使用

ValidateInput(false)


特性标签并不能解决此问题。

网上前篇一律的回答是修改Web.Config

<pages validateRequest="false"/>

以此来关闭表单的验证。以前我也这么做,但总感觉不妥。

这种实现方式就把全站的表单安全验证给关闭了。肯定不是一个安全且正确的解决方式。

根据报错中的msdn帮助链接。很容易的就找到了解决此问题最好的解决方法。

如果控制器的参数是用一个实体来接收。那么给这个实体中会出现HTML的属性一个[AllowHtml]特性。

无需其他设置。

一直找不到AllowHtml是哪个命名空间下的。

不得不吐槽百度。怎么都收不到相关资料,翻出去用谷歌,一搜即是。

需添加对System.Web.Mvc.dll的引用

然后: using System.Web.Mvc;

[AllowHtml]
public string Prop1 { get;  set; }


如果是通过Request来接收。那么就使用Unvalidated

GET

Request.Unvalidated["Content"];


POST

Request.Unvalidated.Form["content"];
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: 
相关文章推荐