惯性聚合 高效追踪和阅读你感兴趣的博客、新闻、科技资讯
阅读原文 在惯性聚合中打开

推荐订阅源

Vercel News
Vercel News
B
Blog
Y
Y Combinator Blog
Recent Announcements
Recent Announcements
GbyAI
GbyAI
IT之家
IT之家
钛媒体:引领未来商业与生活新知
钛媒体:引领未来商业与生活新知
T
Tailwind CSS Blog
博客园_首页
C
Check Point Blog
博客园 - 【当耐特】
美团技术团队
Last Week in AI
Last Week in AI
A
About on SuperTechFans
雷峰网
雷峰网
MongoDB | Blog
MongoDB | Blog
Microsoft Azure Blog
Microsoft Azure Blog
M
MIT News - Artificial intelligence
Martin Fowler
Martin Fowler
J
Java Code Geeks
B
Blog RSS Feed
奇客Solidot–传递最新科技情报
奇客Solidot–传递最新科技情报
G
Google Developers Blog
F
Fortinet All Blogs

少数派

派早报:Google 发布 Fitbit Air 等 - 少数派 「新人报到」確認需求,再開始 - 少数派 从 SOLO 独立开发者社区,我看到了越来越多开发者开始做自己的产品 - 少数派 我怎么管理那些"不常做,但总会忘"的生活事项 - 少数派 人形机器人量产元年,数据才是具身智能的“生死线” - 少数派 BuhoLaunchpad 高度还原 Mac 启动台:开发历程与思考 - 少数派 五年陪伴依然不舍,DIY 换壳后让罗技 MX Master 3 继续服役 - 少数派 新玩意 240|少数派的编辑们最近买了啥? - 少数派 一日一技|为什么你应该关闭 iOS 的键盘声音 - 少数派 我做了个插件和 Skills,一键提取任何网站的设计规范 Design.md - 少数派 住在三四线城市的你,该开始录播客了 - 少数派 甘南秘境,大白高国 - 少数派 AI的审美:谁让把我变成川内倫子 - 少数派 返工怎能不烦恼,打工人片单总有一部是你的「嘴替」 - 少数派 为了让「上厕所」更健康,我做了一个小工具 - 少数派 AI + Skill,能够让生成的文章去除 AI 味吗? - 少数派 新玩意|韶音OpenDots ONE 耳夹式耳机 - 少数派 《美满》| 在每一个春天的晚上相爱(362) - 少数派 新玩意|优篮子 PS01 MagSnap 磁吸支架 - 少数派 自我整合手记 | 我开始早睡了:用稳定规则,为自由托底 - 少数派 用龙虾(OpenClaw)两个多月,我最深的12个体会 - 少数派 听歌时间到,12 张你可能错过的 2025 华语乐坛好专辑 - 少数派 承诺能追吗 - 少数派 macOS 26启动台没了? 我做了个不一样的App启动器 - Keboard - 少数派 《四海为家的人》| INTJ对话INTJ(361) - 少数派 你发过的那些黑历史,是时候一次清干净了 - 少数派 新玩意:安安静静玩,越玩越专注:计客密码机 - 少数派 iPad 用户首次体验 Android 平板:vivo Pad6 Pro - 少数派 数据逻辑强 - 少数派 极北行+ | 一路向北,探访日本至北之地 | 001 - 少数派
没想到我这小博客也有人刷流量 - 少数派
2025-12-01 · via 少数派

事情的起因是前几天收到了七牛云的额度不足告警,发现对象存储的 CDN 流量消耗不对劲,于是展开了排查。

您的账号当前可用额度 2.71 元,低于您设置的阈值 3.00 元,可能即将欠费,请您及时充值避免停服。

奇怪的流量变化

虽然我的博客《泫言》从 2017 年运行至今,还算稳定,但毕竟不是大神,访问量不大,一般不会有竞争对手或者恶意攻击来搞我。根据以往经验,对象存储充值 10 元能用很久,但距上次充值不久就收到额度提醒,这引起了我的警觉。

遇到问题第一步当然是去查七牛云的 CDN 监控,一眼看到从 11 月 5 日开始不对劲,正常情况下每日 CDN 流量不超过 50MB,但当天骤增至 734MB,后续几天都接近 1GB。

至此基本可排除恶意攻击,恶意攻击不会使用每天都固定刷 1G 流量这样“温和”的举措。

以七牛云为例,CDN 下行流量价格为 0.2046 元/GB,按每日 1GB 计算,一年费用约 74.679 元。虽然这钱不多,但是都被脚本和机器消耗完也不太爽。

排查流量来源

又快半年没有更新博客了,按理不应有大量正常用户访问。查看博客底部的访问统计,人数仍在 10 万左右。按小时的流量统计显示,记录分布非常均匀规律,不符合正常用户访问特征。

随后检查了谷歌分析(Google Analytics)数据,11月5日和11月6日虽有短暂用户量波动,但很快恢复正常,因此流量来源应该不是真实用户。

接下来要进一步实锤这个判断,我在 CDN 的「统计分析」和「日志分析」中发现,超过 94% 的流量来自江苏的 IP。按不同 IP 的流量消耗排序,没有单个 IP 占用过多流量。最近 7 天流量消耗前几的 IP 归属地如下:

  • 中国江西南昌 | 联通 62.4826 MB
  • 中国上海上海 | 电信 45.1876 MB
  • 中国江苏徐州 | 电信 30.1108 MB
  • 中国江苏苏州 | 电信 27.6015 MB

由于流量并非由少数 IP 主导,无法通过 IP 黑名单屏蔽特定发起方。

分析请求特征

查看请求文件次数,由于《泫言》首页有 4 张图片,多数请求都只会访问首页,所以流量大头都集中在这几个图片上,情况很正常。接下来分析了最多的 Referer 和 User-Agent 分布。

请求里面占 90% 以上的 Referer 都是空的
-
请求里面占 90% 以上的 User-Agent 
Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/58.0.3029.110 Safari/537.3

这个数据就比较诡异了,占据大头的 Referer 和 User-Agent 都不正常。

  • Chrome/58.0.3029.110 release 发布于 2017 年 5 月 9 日,版本非常陈旧。
  • 正常浏览器直接打开图片,会携带对应 Referer,也实锤了这些访问不是真实用户的行为。

临时解决

现在要临时解决问题,不想让这类请求继续消耗我的流量,我给 CDN 增加了防盗链设置。规则是仅放行来源为 *.cugxuan.cn 的请求,如果 Referer 为空则直接拒绝

不带 referer 不能正常请求
$ curl --location 
'https://image.cugxuan.cn/avater.jpg'
<html>
<head><title>403 Forbidden</title></head>
<body>
<center><h1>403 Forbidden</h1></center>
<hr><center>openresty</center>
</body>
</html>
带了 referer 的就能正常返回
$ curl --location 
'https://image.cugxuan.cn/avater.jpg'
 --header 
'referer: https://blog.cugxuan.cn'

修改之后 403 状态码的请求显著增加,该错误成为 CDN 统计中占比最高的类型,同样流量消耗也回归了正常水平。

结果与猜测

尽管通过临时屏蔽解决了问题,但也带来了不便。例如,在无痕模式下直接打开我的头像会显示 403,而在博客内右键打开图片则正常展示。

理论上本问题不会是搜索引擎以及大厂 AI 的产物,因为博客运行多年,很早就被 Google 和百度等搜索引擎收录,从未出现类似流量消耗。按照现有认知猜测了以下可能,也欢迎有类似经历的朋友与我交流:

  1. 小作坊的产物,如人工或 AI 编写的程序定期抓取。
  2. 某些 RSS 工具更新策略不当,缓存逻辑有问题导致重复拉取。