我试图阻止攻击我的ASP.NET Web窗体网站的机器人。
有时,机器人会在其User-Agent
标题中包含识别信息。类似的东西:
的Mozilla / 5.0 +(视窗NT + + 6.1 + WOW64)+的 I' M-A-博特 + ...
我可以使用IIS请求过滤来阻止这些请求,或者在我的.NET项目的Global.asax文件中,通过查找我的机器人文本来阻止这些请求。
但是,目前打击我们的机器人在User-Agent
标题中没有识别信息,因此我无法使用该方法阻止它们。但是,他们 传递自定义标头,这些标头出现在我们的错误报告中:HTTP_THEIR_CUSTOM_HEADER
。
在IIS和Global.asax文件中添加此标头(如:THEIR-CUSTOM-HEADER
)并未有效阻止它们。例如,在Global.asax文件中,这是无效的:
protected void Application_PreRequestHandlerExecute(object sender, EventArgs e)
{
if (Request.Headers.AllKeys.Any(o => o.ToLower().Contains("their-custom-header")))
{ // block... }
我有无法以这种方式阻止他们的原因吗?自定义标头的可用方式与User-Agent
之类的标头相同吗?
此外,在IIS IP限制设置中将其IP作为拒绝条目添加也不会阻止它们,因为在添加IP后,我们的IIS日志中仍然会为该IP显示新的条目。我以前从没经历过这种情况。也许这与我为什么不能使用标题信息阻止他们的请求有关?