1

我想知道使用什么规则来确定什么是潜在危险的表单值,以便我可以编写客户端验证以防止它到达服务器。理想情况下,我想知道框架如何确定什么是潜在危险的字符组合,因此我可以在我的自定义验证器中使用相同的规则来防止它们访问服务器。

4

1 回答 1

2

原因:

  1. 通常valid html在文本输入中输入 a 时会出现此错误。即带有打开和关闭html 标签<****>

  2. 这也是由于输入 html 实体等引起的&nbsp; &amp; &lt; &gt; &quot;

  3. 简单来说,你可以说 iftext-input包含一些符号,如">, &, <, =" ; 等,它将被视为危险值。

为了解决您可以使用:

<system.web>
    <httpRuntime requestValidationMode="2.0" />
</system.web>

在您的web.config中验证此类输入。

或者

您可以使用以下方法对输入进行htmlencode :

String clean_value = Server.HtmlEncode(TextBox1.Text);

以下文章可以帮助您:

如何捕获 HttpRequestValidationException

http://www.cryer.co.uk/brian/mswinswdev/ms_vbnet_server_error_potentially_dangerous.htm

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

希望这可以帮助。

于 2012-06-26T07:26:26.213 回答