文章内容
2017/3/30 14:29:20,作 者: 黄兵
终极解决方案:ASP.NET MVC5(Razor)从客户端中检测到有潜在危险的 Request.Form 值
文章编辑出现了问题:
ASP.NET mvc5(razor)从客户端中检测到有潜在危险的 Request.Form 值
从客户端(NewContent="<p>
2016-04-14至201...")中检测到有潜在危险的 Request.Form 值。
说明: ASP.NET 在请求中检测到包含潜在危险的数据,因为它可能包括 HTML 标记或脚本。该数据可能表示存在危及应用程序安全的尝试,如跨站点脚本攻击。如果此类型的输入适用于您的应用程序,则可包括明确允许的网页中的代码。有关详细信息,请参阅 http://go.microsoft.com/fwlink/?LinkID=212874。 异常详细信息: System.Web.HttpRequestValidationException: 从客户端(NewContent="<p>
2016-04-14至201...")中检测到有潜在危险的 Request.Form 值。
源错误:
行 146: public ActionResult Edit(MNews model) 行 147: { 行 148: var urlReferrer = Request.Params["UrlReferrer"]; 行 149: ViewBag.UrlReferrer = urlReferrer; 行 150: var js = new JsonResultMessage(); |
字段NewContent的值HTML代码含有HTML 标记或脚本。该数据可能表示存在危及应用程序安全的尝试,如跨站点脚本攻击。
即使在Action中加了 [ValidateInput(false)]也不管用,原来是下面代码了引起的:
var urlReferrer = Request.Params["UrlReferrer"];
ViewBag.UrlReferrer = urlReferrer;
把上面两行代码注释掉是,就正常了。原来在MVC中使用了 Request.Params来获取参数值验证时对加 [ValidateInput(false)]是还够的,还要在配置文件Web.config中的结点httpRuntime加入requestValidationMode="2.0",如下图:
如是代码中没有Request.Params来获取参数值,只在Action方法加上 [ValidateInput(false)]就可以了。
.net网站&系统开发技术学习交流群:533829726
本站文章除注明转载外,均为本站原创或翻译,欢迎任何形式的转载,但请务必注明出处,尊重他人劳动,共创和谐网络环境。
转载请注明:文章转载自:蓝狐软件工作室 » 终极解决方案:ASP.NET MVC5(Razor)从客户端中检测到有潜在危险的 Request.Form 值
本文标题:终极解决方案:ASP.NET MVC5(Razor)从客户端中检测到有潜在危险的 Request.Form 值
本文地址:http://www.lanhusoft.com/Article/530.html
转载请注明:文章转载自:蓝狐软件工作室 » 终极解决方案:ASP.NET MVC5(Razor)从客户端中检测到有潜在危险的 Request.Form 值
本文标题:终极解决方案:ASP.NET MVC5(Razor)从客户端中检测到有潜在危险的 Request.Form 值
本文地址:http://www.lanhusoft.com/Article/530.html
评论列表