如何屏蔽国外垃圾蜘蛛爬虫服务器经常爬死机卡得很 New
如何屏蔽国外垃圾蜘蛛爬虫服务器经常爬死机卡得很,带宽10M就一个论坛程序,重启服务器后登陆网站快得很,过2小时后登陆网站就卡,查看日志分别就是这三爬虫不停爬取网站。
WebMeUp SemrushOther
措施1伪静态
if ($http_user_agent ~* (SemrushBot|DotBot|HttpClient|MJ12bot|SemrushBot|Barkrowler|AhrefsBot|PetalBot|BLEXBot|Other|Semrush|WebMeUp|SM-G900P))
{
return 403;
}
措施2robots.txt
User-agent: WebMeUp
Disallow: /
User-agent: Other
Disallow: /
User-agent: Semrush
Disallow: /
措施3服务器防火墙屏蔽IP
措施4购买安全防御方面插件辅助
还是防不住这些爬虫。WebMeUp SemrushOther 马牛马牛啊真邪门?望高手指点一下方法。谢谢
1 贡献最佳答案
如果确定是 垃圾蜘蛛的话, 直接用
if ($http_user_agent ~* (SemrushBot|DotBot|HttpClient|MJ12bot|SemrushBot|Barkrowler|AhrefsBot|PetalBot|BLEXBot|Other|Semrush|WebMeUp|SM-G900P))
{
return 403;
}
这样的规则应该就可以了的, 如果屏蔽之后 还没大幅度好转 就是还有 其他垃圾蜘蛛 或者是 垃圾ip再大量访问
具体的 要 分析web日志 才行;
当然, 如果没有海外用户,可以直接屏蔽所有的海外ip,你截图的那个 ip地区访问限制 插件是可以通过 关键字 屏蔽海外的 地区或国家的;
最节省资源的方法是:分析web日志, 找出恶意访问的ip , 然后使用防火墙拦截
天外飘仙发表于2025-8-13 17:41:25
[*]详细答案 >
如果确定是 垃圾蜘蛛的话, 直接用
if ($http_user_agent ~* (SemrushBot|DotBot|HttpClient|MJ12bot|SemrushBot|Barkrowler|AhrefsBot|PetalBot|BLEXBot|Other|Semrush|WebMeUp|SM-G900P))
{
return 403;
}
这样的规则应该就可以了的, 如果屏蔽之后 还没大幅度好转 就是还有 其他垃圾蜘蛛 或者是 垃圾ip再大量访问
具体的 要 分析web日志 才行;
当然, 如果没有海外用户,可以直接屏蔽所有的海外ip,你截图的那个 ip地区访问限制 插件是可以通过 关键字 屏蔽海外的 地区或国家的;
最节省资源的方法是:分析web日志, 找出恶意访问的ip , 然后使用防火墙拦截
如果你用的是 Apache ,伪静态规则这样写可以阻止蜘蛛访问
RewriteCond %{HTTP_USER_AGENT} SemrushBot RewriteRule .* - 从根源上,最好是服务器nginx层面拦截,php层面再拦截,实际上已经消耗了大量资源了
页:
[1]