当前位置: 移动技术网 > IT编程>开发语言>.net > ASP.NET MVC(Razor)从客户端中检测到有潜在危险的 Request.Form 值

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

2018年03月22日  | 移动技术网IT编程  | 我要评论

东陵公园,恩重如山的意思,测测你的另一半长相

当使用前端编辑器时,我们需要传递带有html标签的文本字符串,后台接收参数时,会有安全分险提示,导致报错。

这是因为编辑器带有html标记或脚本字符,该数据表示存在危及应用程序安全的值,如跨站点脚本攻击xss等。

后台代码错误原因:

        [HttpPost] 
        [ValidateInput(false)]
        public ActionResult PublishCommit()
        {
            AjaxResult result = new AjaxResult();
            result.result = false;
            try
            {
                var title = Request.Form["Title"]; 
                var desc = Request.Form["Description"];

字段参数“Description”含有潜在风险,包含有html标签或者脚本,可能会产生跨站脚本攻击xss等风险。

一般我们会在action的方法上添加标签[ValidateInput(false)]也不管用,还是报错;

查阅了网上一些资料,说是这个特性只适合mvc3.0或以下低版本,还需要在web.config中配置:

<system.web>
    <authentication mode="None" />
    <compilation debug="true" targetFramework="4.5.2" />
    <httpRuntime targetFramework="4.5.2" requestValidationMode="2.0"/>


如上代码,需要添加结点httpRuntime中加入requestValidationMode="2.0"配置。

经过测试,确实可以了。


如对本文有疑问,请在下面进行留言讨论,广大热心网友会与你互动!! 点击进行留言回复

相关文章:

验证码:
移动技术网