HttpRequestValidationException显示YSOD尽管customErrors部分

时间:2010-09-28 14:38:33

标签: 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。

亲切的问候,马丁

1 个答案:

答案 0 :(得分:2)

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

确保在错误页面上关闭请求验证。 &lt;%@ Page ValidateRequest =“false”%&gt;

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