1

一些机器人正在请求在我的 asp.net 应用程序www.example.com/test-</p><p>they-are-angry...中创建的 URL。A potentially dangerous exception

我需要验证文件的HttpContext.Current.Request.RawUrl事件Application_BeginRequestGlobal.asax.cs如果它无效,我将重定向到另一个错误页面。

如果 Request.RawUrl 无效,我不想设置validateRequest="false"requestValidationMode="2.0"但想重定向到特定错误页面。

如何做到这一点?是否有任何 Asp.Net 预定义的方法来验证此 URL?

非常感谢任何帮助!

4

1 回答 1

0

如果您只想重定向到错误页面,您可以简单地配置 customErrors 或实现现有帖子MSDN中详述的全局错误处理程序。

但是,如果您想将验证延迟到以后,例如 Application_BeginRequest,您可以禁用请求验证并显式调用它,如Imran 的博客中所述:

1.设置requestValidationMode="2.0"

2.调用Request.ValidateInput()

protected void Application_BeginRequest()
{
    Request.ValidateInput();
    var q = Request.QueryString;
}
于 2013-11-07T20:26:29.127 回答