文章目录
建站以来,我博客上“访问量”最高的页面,是一个从未存在过的页面:/wp-admin/install.php,被访问了 822 次。
是的,这个站没有 WordPress、没有 PHP、没有数据库、连后台都没有——但没关系,机器人不挑。
先把数据摊开
把源站 60 天的 Caddy 日志翻出来数了一遍(63,988 条请求):
| 分类 | 数量 | 占比 |
|---|---|---|
| 真人浏览(首页/文章页) | 2,351 PV / 1,046 个 IP | 3.7% |
| 可疑探测(wp-admin、.env、.git…) | 29,759 | 46.5% |
| 搜索引擎爬虫 | 3,242 | 5.1% |
| 其余(静态资源、304 回访等) | — | — |
翻译一下:攻击流量是真人流量的 12 倍,来自 595 个独立 IP;404 占了全部响应的 70.5%——不是站坏了,是大家的“寻宝”都没找着。
口径说明:统计的是源站回源日志(CDN 边缘命中缓存的静态资源不产生回源记录,所以真实边缘请求量只会更高);“真人”按“200 + 页面 + 浏览器 UA 且排除爬虫/工具 UA”判定。
攻击者图鉴
装 WordPress 派(822 次)——/wp-admin/install.php 稳居榜首。还有一位更执着,把 User-Agent 直接写成 http://hzhou.site/wp-admin/install.php?step=1,来了 982 次。朋友,你连 UA 都在导航,为什么不看看路牌——本站根本没有 PHP。
寻宝派(约 1,700 次)——.env、.env.local、.env.production、.env.backup、.env.bak……一个环境变量文件的十八种猜法。还有 400 次敲 .git/config 想扒源码——其实源码就挂在网页上,右键“查看源代码”即可,免费的。
协议考古派——DELETE 208 次、TRACE 5 次,还有 PROPFIND、MKCOL、MOVE、COPY、LOCK、UNLOCK 各若干:WebDAV 全家桶挨个试了一遍,全部 405 退场。本站唯一支持的“写操作”,是你在评论区打字。
云上农场——来源集中在 GCP、Azure 和 Cloudflare 的 IPv6 段。云主机多,人情味少,KPI 是请求数。
真正的读者
排除噪音后剩下的才是人:60 天 1,046 个独立 IP、2,351 次页面浏览,日均约 40 次。还有正经爬虫:Baiduspider、Googlebot 来收录,ClaudeBot、DeepSeekBot、CCBot、Amazonbot 来抓数据;609 次 304 回访说明有些读者是回头客。
反高潮:真正该修的不是 .env
好笑的是:那 3 万次探测一次都不可能成功,但它们让我顺手做了一次安全体检,然后翻出两个真问题:
/stats/曾经是公开的——一份完整访客报告,含 366 个真实访客 IP 与浏览行为。不是被攻击,是自己挂网上了。现已加认证(无凭据 401)。- 源站可以直接连——绕过 CDN 直连 IP 就能拿内容。现已加回源鉴权头,直连一律 403(日志里已有 54 次直连探测被挡,包括几只没更新 DNS 的爬虫)。
加上 CDN、HSTS、CSP 和请求长度限制,现在的画风是:直连 403、/stats/ 401、超长请求边缘 431。门还是那扇门,但门口站了个保安,屋里本来也没值钱东西。
结语
一个纯静态、零后端、日均 40 个真人的博客,60 天也能收到近 3 万次“问候”——攻击不是因为你重要,而是因为扫描器不要钱。
评 论