You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

无法阻止SemrushBot频繁扫描?求解决方案及安全风险判断

问题

近日监控网站日志时发现SemrushBot频繁扫描网站,扫描间隔仅5-10秒。已尝试在robots.txt中添加拦截规则,但1-2小时后仍无效果,Bot持续扫描。请问该如何阻止它?这是否意味着有人在对网站实施恶意操作?

已添加的robots.txt规则

User-agent: *
Allow: /

User-agent: SemrushBot
Disallow: /

日志示例

185.191.171.11 - - [07/Nov/2022:11:38:59 +0200] "GET /example_store.php?id_class=123&id_product=1234&watch=20670906 HTTP/1.1" 500 5225 "-" "Mozilla/5.0 (compatible; SemrushBot/7~bl; +http://www.semrush.com/bot.html)"

解决方案与说明

一、robots.txt拦截无效的原因

SemrushBot并非严格遵守robots.txt规则,若扫描任务已启动,可能需要数小时才会读取新规则,部分场景下甚至会直接忽略规则。

二、有效阻止SemrushBot的方法

  • 服务器UA拦截
    在Nginx或Apache配置中直接匹配SemrushBot的用户代理字符串拦截请求,配置后重启服务器即可生效:

    • Nginx示例:
      if ($http_user_agent ~* "SemrushBot") {
          return 403;
      }
      
    • Apache示例:
      RewriteEngine On
      RewriteCond %{HTTP_USER_AGENT} SemrushBot [NC]
      RewriteRule ^ - [F]
      
  • IP段封禁
    从日志提取SemrushBot的IP(如示例中的185.191.171.11),查询其所属IP段后,在服务器防火墙或安全组中直接封禁该段IP,这种方式不受UA伪装影响,拦截更彻底。

  • WAF规则拦截
    若使用网站防火墙(WAF),添加规则匹配SemrushBot的UA或IP,直接拦截请求,同时可持续监控后续访问行为。

三、是否属于恶意操作?

SemrushBot本身是SEO工具的爬虫,主要用于抓取网站SEO数据,常规高频扫描不属于恶意操作,但会占用服务器资源影响网站运行。不过存在攻击者伪装成SemrushBot扫描的可能,建议结合日志请求路径判断:若请求均为常规页面,大概率是正常爬虫;若包含异常参数、不存在的页面或攻击特征路径,则需警惕恶意扫描。

内容的提问来源于stack exchange,提问作者user9172014

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.13 19:05:30