020-29876379

常见问题

当网站面临恶意ip,短时间内发送大量请求?网站服务器响应这种请求,给服务器带来较大的压力,它与正常访问网站的用户争夺服务器资源,可能导致服务器响应正常用户的网站访问请求变得很慢,会给用户带来不好的用户体验。如何应对这种恶意请求?同时又不误伤正常的用户或是搜索爬虫,如百度爬虫,必应爬虫,谷歌爬虫,360爬虫等搜索公司的爬虫,结论先行:我们可以在nginx配置文件中加上这段代码:

location ~* \.(rar|zip|7z|tar|tgz|sql|bak|old|backup|swp)$ {
        access_log off;
        return 444;
    }
这段代码起了什么作用呢?当恶意ip来访问网站上的rar|zip|7z|tar|tgz|sql|bak|old|backup|swp这类型的文件时,服务器直接无视请求,也不会回应,等于恶意ip的请求无效,不会造成服务器资源的浪费。
 
如何有效应对恶意ip
 
接下来我们以一个实例来深入说明:
我们来看看ip(211.101.238.231)对站点A的访问情况:

时间范围(整场)

项目 时间
开始
2026/04/24 20:26:02
结束
2026/04/24 20:38:07

 

统计口径 次数
日志总行数(全部 HTTP 状态)
15052
其中状态 301
7526
其中状态 404
7525
其中状态 200
1
HTTP 方法
全部为 HEAD(15052/15052)

每分钟访问记录条数(全部状态合计):

分钟 条数 分钟 条数
20:26
1182
20:33
1269
20:27
1134
20:34
1242
20:28
1277
20:35
1252
20:29
1281
20:36
1236
20:30
1277
20:37
1231
20:31
1245
20:38
167
20:32
1259
 
 

请求了哪些类型的文件?

按 URI 路径上的扩展名归类:

(1)统计全部 15052 行(301 与 404 各占一行,数字会翻倍):

类型 次数
.rar
5840
.zip
4606
.gz
4604
/(网站根路径,非压缩包)
2

(2)只看「结果为不存在」的探测(HTTP 404,共 7525 行):

类型 次数
.rar
2920
.zip
2303
.gz
2302

小结:该 IP 在 20:25 无记录;从 20:26:02 起大量 HEAD 探测 .rar / .zip / .gz,另有 2 次对 / 的请求;整场到站长发现异常后20:38:07拉黑该ip 结束。

 

应对措施一:

为了防止误伤搜索爬虫,首选需要确定该ip是不是搜索爬虫?

1. 检查User-Agent(用户代理)
这是识别爬虫身份最直接的标识。请检查您网站的访问日志,查看该IP访问时携带的User-Agent信息。

  • 官方百度爬虫的User-Agent 通常包含 Baiduspider 关键词,并附带官方网址。常见的有:
    • Baiduspider+(+http://www.baidu.com/search/spider.htm)
    • Mozilla/5.0 (compatible; Baiduspider/2.0; +http://www.baidu.com/search/spider.html)
    • Mozilla/5.0 (compatible; Baiduspider-render/2.0; +http://www.baidu.com/search/spider.html) (用于渲染)
  • 判断标准:如果User-Agent中不包含 Baiduspider,或者格式与上述官方格式差异很大(例如混用了Chrome标识但行为又像爬虫),则很可能是伪造的。

2. 进行DNS反向解析
通过命令行工具可以查询该IP地址反向解析的域名,官方爬虫的域名通常与百度相关。

  • 操作方法:在您的电脑上打开命令行(Windows下为cmd),输入 nslookup 211.101.238.231
  • 判断标准:如果返回的域名不是以 baidu.com 或 baiduspider.com 等百度官方域名结尾,那么它几乎可以肯定不是官方爬虫。

我们在window的cmd窗口下执行:

C:\Users\Administrator>nslookup 211.101.238.231 服务器: UnKnown Address: fe80::1 *** UnKnown 找不到 211.101.238.231: Non-existent domain C:\Users\Administrator>

这个 nslookup 的结果非常关键,它进一步坐实了这个IP的可疑性

解读nslookup 结果

  • 找不到 211.101.238.231: Non-existent domain
    • 这意味着该IP地址没有设置反向解析记录(PTR记录)
    • 正规的大型互联网公司(如百度、谷歌、必应)的爬虫IP,必定会有反向解析域名。例如,如果是百度官方爬虫,这里应该显示类似 crawl-xxx.baidu.com 或 baiduspider.com 的域名。
    • 结论:没有反向解析,说明这个IP要么是一台“肉鸡”(被黑客控制的个人电脑或服务器),要么是伪造的IP,绝对不是百度官方的核心爬虫节点
  • 服务器: UnKnown Address: fe80::1
    • 这说明您本地DNS解析有点小问题(fe80::1 是IPv6的本地链路地址),但这不影响查询结果的有效性。查询结果显示“找不到”是真实的。

 

应对措施二:
我们看这个ip访问请求的文件类型:.rar / .zip / .gz

搜索爬虫会主动访问这些文件吗?

通常不会,或者说,即使访问了也没有意义。

  • 爬虫的目标是网页内容:像百度、Google这样的搜索引擎爬虫,其核心任务是抓取和索引对用户有价值的网页内容(如HTML页面、文章、图片、视频等),并建立索引库供用户搜索。
  • 您列出的文件类型非网页内容.rar.zip.sql.bak 等文件是压缩包、数据库备份、临时文件等,它们本身不是网页,无法被渲染成用户可见的页面。搜索引擎即使抓取到这些文件,也无法将其作为搜索结果呈现给用户,因为它们不包含可供索引的文本、图片等网页元素。
  • 爬虫行为:正规的搜索引擎爬虫(如百度蜘蛛)会遵守网站的 robots.txt 协议。如果您在协议中禁止了这些文件,它们就不会去抓取。而一些恶意爬虫或垃圾爬虫可能会无视协议,但它们的目标通常是窃取信息或制造垃圾内容,而不是为了SEO。

拒绝访问这些文件对SEO有不好的影响吗?

完全没有,反而有诸多好处。

  • 节省抓取预算(Crawl Budget):搜索引擎分配给每个网站的抓取资源(时间、带宽)是有限的,这被称为“抓取预算”。如果爬虫把宝贵的时间浪费在下载巨大的备份文件或无用的压缩包上,那么它抓取您重要网页(如新文章、产品页)的机会就会减少。禁止访问这些文件,可以确保爬虫将所有精力都集中在您希望被索引的核心内容上。
  • 提升网站安全性:这是最重要的一点。.sql(数据库备份)、.bak.old.backup 等文件可能包含您网站的数据库信息、源代码或配置文件。如果这些文件被公开访问并被恶意用户下载,可能导致严重的数据泄露、网站被篡改甚至被黑。拒绝访问是保护这些敏感文件的第一道防线。
  • 避免服务器资源浪费:大型备份文件或压缩包会消耗大量服务器带宽和处理能力。阻止爬虫(尤其是可能并发请求的恶意爬虫)访问这些文件,可以有效节省服务器资源,保证网站对正常用户的访问速度和稳定性。而页面加载速度是搜索引擎排名的一个重要因素
  • 避免重复内容和低质量索引问题:虽然这些文件本身不是网页,但如果被错误地索引,可能会产生一些无意义的搜索结果条目,分散用户注意力,甚至可能被搜索引擎视为低质量信号。

正确的实施方式和注意事项

为了达到最佳效果,您应该采用正确的方法来阻止访问:

  1. 使用 robots.txt 文件(首选和标准做法)
    这是最规范、最推荐的方式。它是一个君子协定,所有正规的搜索引擎爬虫都会遵守。您可以在网站根目录的 robots.txt 文件中加入以下规则:

     
    1User-agent: *
    2Disallow: /*.rar$
    3Disallow: /*.zip$
    4Disallow: /*.7z$
    5Disallow: /*.tar$
    6Disallow: /*.tgz$
    7Disallow: /*.sql$
    8Disallow: /*.bak$
    9Disallow: /*.old$
    10Disallow: /*.backup$
    11Disallow: /*.swp$
    12
     

    这条规则的意思是:对所有爬虫(User-agent: *),禁止访问(Disallow)所有以这些扩展名结尾的URL。$符号表示URL的结尾,确保精确匹配。

但对于恶意ip来说,它是不会遵守上面的robots.txt中的协议的,直接来一段nginx配置:

location ~* \.(rar|zip|7z|tar|tgz|sql|bak|old|backup|swp)$ {
        access_log off;
        return 444;
    }
让它的恶意行为无效,让网站对真正的用户或是搜索引挚爬虫高效!