有些机器人正在请求www.example.com/test-</p><p>they-are-angry...
之类的网址,这会在我的asp.net应用程序中创建A potentially dangerous exception
。
我需要验证HttpContext.Current.Request.RawUrl
Application_BeginRequest
个Global.asax.cs
事件中的validateRequest="false"
,如果它无效,我将重定向到另一个错误页面。
我不想设置{{1}}或requestValidationMode="2.0"
,但如果Request.RawUrl无效,则想要重定向到特定的错误页面。
如何实现这一目标?是否有任何Asp.Net预定义方法来验证此URL?
非常感谢任何帮助!
答案 0 :(得分:0)
如果您只想重定向到错误页面,只需配置customErrors或实现全局错误处理程序,详见existing post和MSDN。
但是,如果您希望延迟验证直到稍后,例如Application_BeginRequest,您可以禁用请求验证并明确调用它,如Imran's blog中所述:
1。设置requestValidationMode =“2.0”
2。调用Request.ValidateInput()
protected void Application_BeginRequest()
{
Request.ValidateInput();
var q = Request.QueryString;
}