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

    今天,在做一个mvc表单提交,其中内容框使用KindEditor插件,支持带html文本内容,结果在提交的时候遇到如下提示:

 net mvc4.5从客户端中检测到有潜在危险的 Request.Form 值 的解决方法_第1张图片

测试

net mvc4.5从客户端中检测到有潜在危险的 Request.Form 值 的解决方法_第2张图片

 

查阅多方资料,大多修改方案如下:

 net mvc4.5从客户端中检测到有潜在危险的 Request.Form 值 的解决方法_第3张图片

可是我在根目录配置文件下做了以上调整,还是提示错误!!!

 net mvc4.5从客户端中检测到有潜在危险的 Request.Form 值 的解决方法_第4张图片

最后又想到可以直接根据当前Action方法不做判断的方法,一时想不起,经查找,设置如下:

 net mvc4.5从客户端中检测到有潜在危险的 Request.Form 值 的解决方法_第5张图片

最终展示效果如下:

net mvc4.5从客户端中检测到有潜在危险的 Request.Form 值 的解决方法_第6张图片



***************************************************************************************************************

ps:最后有网友解释:ValidateRequest=”false”常用于Web Form项目,,requestValidationMode="2.0"用语MVC 3.0甚至更低版本。

***************************************************************************************************************

过了两天我又重新修改了下代码,我想吧content也使用request而不是直接写在action方法上的,结果经测试发现如果使用

string content=Request["content"];

客户端仍然返回错误提示!!!于是又是各种查资料,最后有看到解释:

问题原因由于你当前的.net ifreamwork框架环境是4.0

只要在web.config配置        即可。


经测试确实有效,但是这样一来,就需要做好基本保护措施了。我把编辑器的查看源码去掉了。。。文本框设定了最大输入个数,在转码下保存。

由于我是要post到微信上的,因此不能进行Server.HtmlEncode(content)转码【测试过,发现转码了微信并没有在转换回来】。


不过最快的还是直接像我上面的写法吧,把content参数写在action方法里头,其他参数仍然使用request,这样就能避免content被检查,其他文本框字段又能被查找过滤。一举两得!!

你可能感兴趣的:(MVC)