关闭HttpRequestValidationException日志记录?

时间:2012-11-02 21:05:04

标签: c# asp.net asp.net-mvc-3

我们的服务器的事件查看器日志中有一个例外情况不断出现,这是由我们的PCI安全公司明确企图破解我们的网站造成的。随着它一直在崛起,它变得很烦人,最初它产生了“黄色死亡屏幕”,并在事件查看器中记录为未处理的异常。我们在异常来自的代码周围放置了一个异常处理程序(如果你感兴趣的话,在Phalanger里面),所以它现在更长时间崩溃并导致死亡的黄色屏幕,但它仍然在事件查看器日志中作为警告结束!

任何想法如何在事件查看器中关闭它,而不是完全关闭请求验证,这是我试图避免的?

我们正在使用ASP.NET MVC 3所以我知道我可以使用新的ValidateInput属性来执行此操作,但我宁愿让它保持打开但能够自己处理异常并且不让它们记录到事件中观察者,即使我抓住并处理它?<​​/ p>

1 个答案:

答案 0 :(得分:6)

将以下代码添加到Global.asax.cs

    void Application_Error(object sender, EventArgs e)
    {
        Exception ex = Server.GetLastError();
        if (ex is HttpRequestValidationException)
        {
            Server.ClearError();
            Response.Clear();
            Response.StatusCode = 200;

            // add content below
            Response.Write("");
            Response.End();
        }
    }