“之前ASP.NET页面生命周期中是否有任何地方”;潜在危险的请求。从客户端检测到路径值;被抛出

“之前ASP.NET页面生命周期中是否有任何地方”;潜在危险的请求。从客户端检测到路径值;被抛出,asp.net,webforms,page-lifecycle,httpexception,Asp.net,Webforms,Page Lifecycle,Httpexception,我希望能够在抛出HttpException“潜在危险的请求。从客户端检测到路径值”之前,对传入请求进行一些检查。在ASP.NET生命周期中是否有任何地方可以这样做 这是在旧的ASP.NET web窗体应用程序上,该应用程序使用IIS 8.5 我知道异常发生的原因,我并没有试图用ValidateRequest=“false”或web.config设置来阻止它 我不想捕捉它,我知道我可以在global.asaxApplication\u Error 我认为HttpModules是在处理请求之前运

我希望能够在抛出HttpException“潜在危险的请求。从客户端检测到路径值”之前,对传入请求进行一些检查。在ASP.NET生命周期中是否有任何地方可以这样做

这是在旧的ASP.NET web窗体应用程序上,该应用程序使用IIS 8.5

  • 我知道异常发生的原因,我并没有试图用
    ValidateRequest=“false”
    或web.config设置来阻止它
  • 我不想捕捉它,我知道我可以在global.asax
    Application\u Error
我认为HttpModules是在处理请求之前运行的,但是在我尝试请求像“>”这样的URL时,向模块的
Init()
方法添加断点并没有被命中,因此错误抛出的时间甚至早于此

如果有用,以下是完整错误:

System.Web.HttpException (0x80004005): A potentially dangerous Request.Path value was detected from the client (>).
 at System.Web.HttpRequest.ValidateInputIfRequiredByConfig()
 at System.Web.HttpApplication.PipelineStepManager.ValidateHelper(HttpContext context)

在Global.asax中尝试此事件。很久以前,我在我的Global.asax页面上添加了该方法和注释,但从未实际使用过。我只是快速运行了一下,将
添加到一个文本框控件中,然后单击一个按钮,这个事件在页面爆炸之前被击中

// This event is executed for every page request
// and is run before the PreInit event. Therefore we
// can use it to set the theme and master for every page.
protected void Application_PreRequestHandlerExecute(object sender, EventArgs e)
{
}

我添加了这个,设置了一个断点,但使用我的示例URL并没有命中它。应用程序_BeginRequest也不起作用。