c# - HttpRequestValidationException 显示 YSOD 尽管 customErrors 部分

标签 c# asp.net web-config custom-errors

我们修改了我们的 customErrors 部分以防止最近的 ASP.NET 漏洞。

我们的问题是,HttpRequestValidationException 现在导致显示 YSOD,其他异常和页面未找到错误正在显示我们的自定义错误页面。

如果我们将 redirectMode 更改为 ResponseRedirect,一切正常。

这是我们修改的部分:

<customErrors mode="On" redirectMode="ResponseRewrite" defaultRedirect="~/Error.aspx"/>

这个问题与最近的 ASP.NET 漏洞无关!它是关于 ResponseRewrite redirectMode 与 HttpRequestValidationException 的结合。我们知道很快就会有一个补丁,我们可以改回 ResponseRedirect。

亲切的问候,马丁

最佳答案

当您的错误页面产生错误时,就会发生这种情况。

确保关闭错误页面上的请求验证。 <%@ Page ValidateRequest="false"%>

然后,您当然需要对显示在错误页面上的任何用户输入进行编码。例如。 Server.HtmlEncode(ex.Message)

关于c# - HttpRequestValidationException 显示 YSOD 尽管 customErrors 部分,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3813899/

相关文章:

c# - 对 Request.Files 的 foreach

ssl - 在 web.config 中将 URL 重写为 https 并且非 www 到 www 并且没有尾部斜杠

asp.net - Windows Azure VM 网站设置

c# - 函数参数中的空指针与对象

c# - 隐藏 Windows 窗体后无法将其显示回来

C# 将多个对象保存到数据库后获取 id 的列表或数组

asp.net - tinymce - 无法嵌入视频

asp.net - 我可以添加三个以上的 web.config 转换吗?

c# - 无法连接到任何指定的 MySQL 主机,以前的工作代码

c# - 如何在 C# 中转换 List<>