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

本文发布于 8 年前,部分内容可能已经失去参考价值。

在 ASP.NET 网站开发过程中,若提交的表单中包含有 HTML 代码,为了安全,.NET 会自动阻止提交,并抛出异常:

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

以前的做法是

WebFrom:在 <%@ Page %> 中加入 ValidateRequest="false"

MVC:给 Action 加上属性 [ValidateInput(false)]

显然这会给网站带来极大的风险,不推荐!

以下做法可以完美解决这个问题。

客户端把内容进行 HTML 编码,如:

content = $("<div />").text(content).html();

服务端把内容进行 HTML 解码,如:

string title = HttpUtility.HtmlDecode(Request.Form["content"]);


xoyozo 9 年前
转载请注明出处
可能相关的内容