2012-11-02 73 views
3

我们有一个例外,它在我们的服务器的事件查看器日志中不断出现,这是由我们的PCI安全公司显式尝试破解我们的网站造成的。它会随着它一直出现而变得烦人,最初它会产生“黄色的死亡屏幕”并将事件查看器记录为未处理的异常。我们在代码中加入了一个异常处理程序,如果你感兴趣的话,它会在异常来自Phalanger内部,所以它现在会更长时间地崩溃并导致死亡的黄色屏幕,但它仍然以事件查看器日志作为警告!关闭HttpRequestValidationException日志记录?

任何想法如何在事件查看器关闭完全关闭请求验证的情况下关闭它,我试图避免这种情况?

我们使用的是ASP.NET MVC 3,所以我知道我可以使用新的ValidateInput属性来做到这一点,但我宁愿让它打开,但能够自己处理异常,而不是让它们登录到事件查看器,即使我抓住它并处理它?

+0

您是否尝试过重写'OnException'控制器和标记异常的处理? – Silvermind

+0

使用此链接可能会帮助你--http://stackoverflow.com/questions/249066/how-to-avoid-httprequestvalidationexception-in-asp-net-mvc-rendering-the-same-vi – amitesh

回答

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(); 
     } 
    }