下面是几条IIS的访问日志:

23:59:29 GET /blog/include/validatecode.asp – 80
– 219.134.121.206 Mozilla/3.0+(compatible;+Indy+Library) 200 0 3

23:59:29 POST /blog/blogcomm.asp action=postcomm 80
– 219.134.121.206 Mozilla/3.0+(compatible;+Indy+Library) 200 0 2

23:59:29 GET /blog/blogview.asp logid=304 80
– 219.134.121.206 Mozilla/3.0+(compatible;+Indy+Library) 301 0 0

23:59:29 GET /blog/article/304.aspx – 80
– 219.134.121.206 Mozilla/3.0+(compatible;+Indy+Library) 302 0 0

23:59:29 GET /blog/article/refused.html – 80
– 219.134.121.206 Mozilla/3.0+(compatible;+Indy+Library) 200 0 3

23:59:33 POST /blog/trackback.asp tbid=140&CP=GBK 80
– 222.69.238.216 Mozilla/3.0+(compatible;+Indy+Library) 200 0 2

Indy Library最初是一个关于网络操作的开源程序库,到了国内就大量被滥用到spam bots,而且还能随意更换IP(也许是多个spam bot,但是从IP数量来看并不像)(这里有更多关于Indy Library的信息)。很早就发现这个可恶的机器人了,于是在Global.asax中BeginRequest的时候就直接为其重定向到了refused.html:

string agent = HttpContext.Current.Request.UserAgent;
if (String.IsNullOrEmpty(agent) || agent.IndexOf("Indy Library") > -1)
{
    Response.Redirect("refused.html");
}

可惜是这是一个302跳转,跳转后还是会得到成功响应(200),而IIS本身的404返回的错误页面的状态居然也是200(那几个asp文件根本就不存在了)。因为返回的这几个状态错误,于是这个机器人老是以为自己在正常工作,而那个使用这个机器人的傻逼也不看一下继续浪费老子的服务器资源,尽管他一条spam都没有发成功!

另外,这个机器人中间有请求“validatecode.asp”这个文件,看来他们还是有破解这个简单的验证码的能力,以前也确实成功地发了不少垃圾评论,我很奇怪的是他们现在请求的这个页面已经是“refused.html”了,他们还能作为图片识别?

2 Comments

Leave a Reply

Your email address will not be published. Required fields are marked *

This site uses Akismet to reduce spam. Learn how your comment data is processed.