处理【从客户端中检测到有潜在危险的 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"/>

你可能感兴趣的:(html,.net,String,object)