处理从客户端中检测到有潜在危险的 Request.Form值

Posted 伴老思源

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了处理从客户端中检测到有潜在危险的 Request.Form值相关的知识,希望对你有一定的参考价值。

【详细错误】:从客户端(SaveXML="...="39038"/></记录集合>")中检测到有潜在危险的 Request.Form 值。 

【错误经过】:自.net1.1迁移至.net4.0时出现,原webconfig中存在:

<xhtmlConformance mode="Legacy" />
<pages validateRequest="false" />


【错误分析】:这是.net在页面Request值时,防止XSS攻击的一种策略,出于安全起见我们应对将输入字符串用 HttpUtility.HtmlEncode()来编码,将其中的HTML标签彻底禁止,然后再对需要的标签,进行Replace()替换回原有格式。

例如:

void saveBtn_Click(object sender, EventArgs e)
    string strValue = HttpUtility.HtmlEncode(Request.Form["inputValue"]);
    Response.Write(strValue.Replace("&lt;br&gt;","<br>"));

【解决办法】: 在webconfig中加入或替换:

<httpRuntime requestValidationMode="2.0" maxRequestLength="102400" executionTimeout="6000"/>

以上是关于处理从客户端中检测到有潜在危险的 Request.Form值的主要内容,如果未能解决你的问题,请参考以下文章

从客户端(...)中检测到有潜在危险的Request.Form 值的处理办法

异常记录MVC:从客户端中检测到有潜在危险的 Request.Form 值 的解决方法 [转]

从客户端中检测到有潜在危险的 request.form值[解决方法]

从客户端中检测到有潜在危险的 request.form值[解决方法]

从客户端中检测到有潜在危险的 Request.Form 值

从客户端中检测到有潜在危险值的解决办法