之前写了一篇屏蔽 MJ12bot 等恶意网页爬虫屏蔽了一些设计有缺陷的爬虫,但是最近发现还有通过RSS订阅来获取内容的恶意爬虫。其中有个UA为rssbot
的每隔1~3分钟就会刷一次RSS Feed,虽然不是太多的流量但如此滥用RSS肯定是不能忍的。Github上查到了这个RSS程序,是一个专用于Telegram的RSS机器人,并没有设置抓取频率的入口。索性直接通过Nginx直接ban掉这个程序专用的UA头。
- 根据Nginx日志,确定UA为
rssbot
- 在Nginx站点配置文件中加上以下内容后重启Nginx即可(这里还顺带ban了空UA):
if ($http_user_agent ~ "rssbot|^$" )
{
return 403;
}
- 当然也可以把其它所有的常见爬虫都加上去,然后将这一设置单独写成一个文件比如
uaban.conf
并在服务器Nginx每个网站配置文件中加上一句include uaban.conf
这样就可以方便地为所有网站做爬虫屏蔽设置了 - 如果用了CDN之类的服务也可以直接去CDN服务商面板中禁掉这个UA
转载请标注来源