一个阻塞的IP僵尸仍然会导致服务器exception

我pipe理一个正在被一个非常愚蠢的机器人“攻击”的网站。 机器人总是尝试相同的请求,它始终得到错误的请求响应,因为ASP.NET检测到“从客户端检测到潜在危险的Request.Path值”。

我试图通过IIS / Web.config(ipSecurity)/。htaccess文件(Helicon ape)将机器人的IP添加到我拒绝的ips中,通常它可以工作,并阻止来自“普通”请求的ip。 但是,当机器人试图访问奇怪的url,如“mydomain.com/a.aspx/+[PLM=0]+GET+ http://bla.bla.com ”服务器引发exception:System.Web.HttpException:从客户端(:)中检测到有潜在危险的Request.Path值。

我不希望我的弱服务器甚至尝试处理来自该IP的任何请求,当然不会一直抛出exception。 服务器是在一个共享的主机上,所以我没有很多选项,比如添加像fortinet等一些路由器,这将阻止在一个较低的水平的IP。

任何想法我怎么能说服我的服务器总是忽略来自这些特定IP的请求,甚至当它试图潜在危险的请求? 任何其他build议如何处理这种情况?

System.Web.HttpException: A potentially dangerous Request.System.Web/HttpRequest.cs ValidateInputIfRequiredByConfig()生成。 这个validation是在你当前的IP阻塞之前内置和完成的,所以请求根本不会到达那里。 例外只是validation正在工作的certificate,并且不再进一步处理请求。 别担心

如果在处理请求之前确实需要阻止IP,则需要在防火墙级别执行,就像HBruijn所评论的那样。