0

因此表单可能只显示验证错误(例如不允许使用 HTML)而不是抛出异常

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

当我在输入中包含 HTML 时。我不想接受 HTML,但我也不喜欢例外。

4

2 回答 2

0

在 ASP .NET 4.0 中,默认情况下为所有请求启用请求验证。

http://www.asp.net/whitepapers/aspnet4/break-changes

您仍然可以强制您的应用忽略此检查。

详情见链接:-

ValidateRequest="false" 在 Asp.Net 4 中不起作用

但是,我不会提倡这种策略。最好在发送到服务器之前尝试使用 Javascript 验证文本,以确保它不包含任何会触发 ValidateRequest 行为的字符。

这个问题涵盖了所有这些角色:-

ValidateRequest 设置为 true 时,哪些字符或字符组合无效?

如果您的用户没有启用 Javascript,您仍然会遇到错误。在那种(罕见的)情况下,您可以回退,customErrors以便至少显示比黄色错误页面更漂亮的东西。

于 2012-11-12T19:49:55.350 回答
-1

您可以在 web.config 文件中处理错误的应用程序行为:

</system.web>
…
   <customErrors defaultRedirect="/ErrorPage" mode="RemoteOnly"></customErrors>
…
</system.web>

此外,除了指定是否显示详细错误之外,您还可以将用户重定向到特定页面以向他显示您设计的自定义错误页面。

有关此检查msdn 对 customErrors 元素的解释的更多信息

于 2012-11-12T19:40:24.967 回答