Apache使用.htaccess 屏蔽恶意 User Agent(防蜘蛛)

根据 Aberdeen Group发布的以北美几百家公司数据为样本的爬虫调查报告显示,2015 年网站流量中的真人访问仅为总流量的 54.4% ,剩余的流量由 27% 的好爬虫和 18.6% 的恶意爬虫构成。对于企业站还是个人站点,都不希望来访的是各类爬虫、蜘蛛,希望的是真人来访。那么我们如何来界定这些呢?如果都是恶意爬虫,我们是否可以屏蔽他们,减少我们的带宽支出呢?毕竟我们在租用虚拟主机等云服务产品时,带宽支出是非常大的一笔成本。

我们通过Apache使用.htaccess,判断user agent,在nginx中禁用这些蜘蛛可以节省一些流量,也可以防止一些恶意的访问。

一、登记在册的恶意 User Agent

1、”Mozilla/4.0 (compatible; MSIE 7.0; Windows NT 5.1; EmbeddedWB 14.52 from: http://www.bsalsa.com/ EmbeddedWB 14.52; .NET CLR 2.0.50727)”

下面是网站日志中的两条记录,这个 User Agent 会重复访问注册页面,并获取验证码,这是垃圾留言和恶意注册的开始。

116.242.22.10 199.27.128.204 – – [30/Oct/2011:04:02:15 +0800] “GET /checkcode.php HTTP/1.1” 302 286 “http://www.***.com/register.php” “Mozilla/4.0 (compatible; MSIE 7.0; Windows NT 5.1; EmbeddedWB 14.52 from: http://www.bsalsa.com/ EmbeddedWB 14.52; .NET CLR 2.0.50727)”

116.242.22.10 199.27.128.204 – – [30/Oct/2011:04:02:19 +0800] “POST /register.php HTTP/1.1” 302 286 “http://www.***.com/register.php” “Mozilla/4.0 (compatible; MSIE 7.0; Windows NT 5.1; EmbeddedWB 14.52 from: http://www.bsalsa.com/ EmbeddedWB 14.52; .NET CLR 2.0.50727)”

2、”Mozilla/5.0 QunarBot/1.0″

这是一个无视 robots.txt 的蜘蛛,怀疑与“去哪儿”有关。

3、”Mozilla/4.0 (compatible; MSIE 5.00; Windows 98)”

61.147.91.201 173.245.48.60 – – [30/Oct/2011:06:00:28 +0800] “GET /mp3/%A5%D6%A5%EB%A9%60%A5%D0%A9%60%A5%C9.mp3 HTTP/1.1” 302 286 “-” “Mozilla/4.0 (compatible; MSIE 5.00; Windows 98)”

看到没?Windows 98!总是抓取网站目录下的mp3文件,都是原来上传过mp3文件到网站的错。

4、”Mozilla/4.0″

58.255.120.95 199.27.128.216 – – [30/Oct/2011:06:01:26 +0800] “GET /ikmedata/cache/fuck.php HTTP/1.1” 404 1479 “-” “Mozilla/4.0”
58.255.120.95 199.27.128.216 – – [30/Oct/2011:06:01:27 +0800] “GET /data/cache/fuck.php HTTP/1.1” 404 1479 “-” “Mozilla/4.0”
58.255.120.95 199.27.128.216 – – [30/Oct/2011:06:01:27 +0800] “GET /data/cache/fuck.php HTTP/1.1” 404 1479 “-” “Mozilla/4.0”

又一个坑爹的,无尽无穷的扫描,非常恶心。

二、屏蔽恶意 User Agent

使用 .htaccess 屏蔽 User Agent 的方法很多,这里使用 rewrite 规则把这些 User Agent 转移走,以达到屏蔽的效果。

RewriteCond %{HTTP_USER_AGENT} “.*EmbeddedWB.*” [OR]
RewriteCond %{HTTP_USER_AGENT} “.*QunarBot.*” [OR]
RewriteCond %{HTTP_USER_AGENT} “.*Windows 98.*” [OR]
RewriteCond %{HTTP_USER_AGENT} “^Mozilla/4.0$”
RewriteRule ^(.*)$ http://cao.ni.ma/

使用 .htaccess 需要了解一些正则表达式语法,以正确匹配字符串。

如果你觉得有用,屏蔽恶意 User Agent之前,不妨先分析一下自己的网站日志,根据自己的需要定制。可以使用 Firefox+User Agent Switcher 测试效果,Chrome 也有类似的切换 User Agent的扩展程序。

赞(0)
声明:本网站发布的内容(图片、视频和文字)以原创、转载和分享网络内容为主,如果涉及侵权请尽快告知,我们将会在第一时间删除。文章观点不代表本网站立场,如需处理请联系客服。电话:028-62778877-8306;邮箱:fanjiao@west.cn。本站原创内容未经允许不得转载,或转载时需注明出处:西部数码知识库 » Apache使用.htaccess 屏蔽恶意 User Agent(防蜘蛛)

登录

找回密码

注册