电脑上按Ctrl + D,下次访问更方便
服务分类

屏蔽无用的爬虫,降低服务器CPU负载

服务器经常CPU升高,分析了日志,发现是好多个爬虫在疯狂的抓取,在robots.txt里面做了屏蔽,在robots.txt的最上面添加:

User-agent: MJ12bot
User-agent: SemrushBot
User-agent: ClaudeBot
User-agent: HanaleiBot
User-agent: GPTBot
User-agent: AhrefsBot
User-agent: BLEXBot
User-agent: OAI-SearchBot
User-agent: DotBot
User-agent: Amazonbot
User-agent: Applebot
Disallow: /

但是第二天看了日志发现爬虫还是来抓取,AhrefsBot这些流氓爬虫根本就不遵守robots协议。

AhrefsBot这些爬虫,对网站没啥用,可以全部屏蔽,留着常用的搜索引擎爬虫就可以了。

.htaccess文件中添加以下规则来高效屏蔽:

RewriteCond %{HTTP_USER_AGENT} MJ12bot|PetalBot|ClaudeBot|SemrushBot|DotBot|BLEXBot|AhrefsBot|Amazonbot [NC]
RewriteRule .* - [F,L]

添加在最前面。这个规则会检查访问者的User-Agent,如果包含上述任一爬虫名称(不区分大小写),就会返回403禁止访问状态码。其中[NC]表示忽略大小写,[F]表示禁止访问,[L]表示这是最后一条规则。

验证方法:

# 测试规则是否生效
curl -I -A "AhrefsBot" http://yourdomain.com/
# 应返回 HTTP/1.1 403 Forbidden
测试规则是否生效

还有一个办法,如果网站是Wordpress,安装Wordfence 安全插件,在插件防火墙->拦截->自定义模式,比如说要屏蔽爬虫,就在浏览器用户代理(User Agent)那里输入*AhrefsBot*,前后带星号,被拦截屏蔽的原因随便填,点击“屏蔽匹配此模式的访客”即可。

屏蔽这些爬虫之后,网站的CPU负载应该会降下来。

联系我们

联系我们

微信专属客服:

fuwu360微信客服

工作时间:周一至周五,9:30-18:30,节假日休息

返回顶部