余赚网 发表于 2026-4-1 12:32:07

如何屏蔽国外垃圾蜘蛛爬虫服务器经常爬死机卡得很 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
[*]详细答案 >

余赚网 发表于 2026-4-1 12:32:24



如果确定是 垃圾蜘蛛的话, 直接用

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 , 然后使用防火墙拦截







IT618应用中心 发表于 2026-4-1 12:32:52

如果你用的是 Apache ,伪静态规则这样写可以阻止蜘蛛访问

RewriteCond %{HTTP_USER_AGENT} SemrushBot RewriteRule .* -

可可的可 发表于 2026-4-1 12:33:16

从根源上,最好是服务器nginx层面拦截,php层面再拦截,实际上已经消耗了大量资源了
页: [1]
查看完整版本: 如何屏蔽国外垃圾蜘蛛爬虫服务器经常爬死机卡得很 New