一个 Vibe Coding 网站是怎么在上线几十分钟内被打爆的

昨天发帖分享了一个刚做的小网站,叫锐评

网站可以给不同社区打分,档位是:

夯 / 顶级 / 人上人 / NPC / 拉完了

我怕兄弟们连快捷登录都懒得点,更别提注册登录了,就把游客权限也打开了:不登录可以评分,也可以评论。让大家先进来玩玩,真有人乱搞的话,我再去后台关掉游客权限。

当时觉得这个方案挺宽松灵活的,现在看,确实宽松,主要是方便攻击脚本发挥。

我的帖子没爆,服务器先爆了

当天晚上我先后在几个社区发了帖子:

  • 20:50:2Libra
  • 21:01:V2EX
  • 后来又发到了 Linux Bi

本来以为能来几十个人,帮忙测测功能、提点意见。没想到互联网上有坏人,没过多久,网站就打不开了。我打开 Vercel 后台一看,请求量已经飞起来了。

两个相邻 IP 正在疯狂请求网站里的条目:

text 复制代码
103.197.30.225
103.197.30.226

主要目标是 /t/rping-cc。一共制造了大约 20 万次 Firewall Actions,还顺手给"锐评"刷了接近 3,000 次"拉完了"。

我做这个网站,本来是想让大家锐评互联网社区。上线第一天,网站自己先登上了「拉榜」榜首。

拔电源吧

我一开始没当回事儿,毕竟早就想过:有人乱搞的话,去管理后台关掉游客权限就行。

没想到的是,攻击来的时候,我自己也进不去后台了。页面打不开,无奈只能直接改数据库,把游客评分和评论权限先关掉。权限改完,异常评分是不再增加了,但那两个 IP 还在继续请求,给服务器上强度。

刚开始我其实没怎么生气,觉得网站刚上线就被打,也算是给自己上了一课,当个乐子看就好。我屏蔽了 IP、加了防护规则,也在帖子里明确说了这件事。

结果那个人并不打算到此为止。IP 被 ban 以后,它又换了 IP 继续捣乱,还注册了敏感用户名,开始刷乱码评论。评分刷不动了,就改刷评论区。一共发了 128 条锐评,评论区被它刷得像乱码瀑布一样。

这就不是乐子了,这人确实是坏种,这么干对你有什么好处呢?

只能先拔电源,把服务关了。

日志里的时间线

后来我导出了攻击前后近两个小时的完整日志。这个客户端第一次出现是在:

text 复制代码
21:12:53  GET  /t/v2ex       200

紧接着:

text 复制代码
21:13:09  GET  /t/rping-cc   200
21:13:16  POST /t/rping-cc   200

它进入网站 23 秒后,就开始尝试刷票。刚开始还挺克制,隔几秒请求一次,像是在试接口。十分钟后,大概确认接口确实没什么防护,于是正式开工:

text 复制代码
21:24  开始高频请求
21:25  单分钟接近 2,000 次
21:35  第一轮高峰
22:02  第二轮高峰
22:05  基本结束

Vercel 的 DDoS Challenge 大约拦下了 16.4 万次请求,但仍有 5 万多次攻击被放行。

所以是 V 站用户干的吗?

刚开始我怀疑是 linux bi 用户干的,毕竟我天天逛 v 站,默认把战里兄弟都当成高素质人群了,但是从日志上看,我开始怀疑是 v 站用户攻击的。

V2EX 帖子发于 21:01,帖子里放的是专属链接 /t/v2ex;可疑客户端在 21:12:53 第一次出现,第一条请求刚好也是 /t/v2ex,23 秒后就开始测试刷票。时间和路径确实挺吻合。

当然,我肯定无法证明是某位 V2EX 用户,链接可能被转发,也可能通过别的方式传播,更没有证据指向某个具体账号,大家看个乐子得了。

连夜补窟窿

关站以后,我紧急补了几条安全规则,屏蔽攻击 IP,开启 Attack Mode,增加全站请求限流,给统计接口和详情页写操作单独限流

项目也加强了权限管控,关闭游客评分和评论,清理异常数据,增加单用户单目标每日操作次数。

以前担心登录会劝退用户。现在觉得,劝退几个嫌麻烦的用户,总比把我网站干没了强吧。

我之前为了让注册登录方便一点,还把 confirm email 关掉了。现在看来,这个开关还是得打开。要求用户确认邮箱,至少能给批量注册增加一点成本,不能再让脚本注册完账号就直接开刷。

总结:Vibe Coding 路边一条

这个网站 MVP 版本全靠 Vibe Coding 快速做出来的。

上线几十分钟就被打爆了,我也低估了互联网上有些人的恶意,难怪很多论坛、社区都设置各种注册条件、发言条件。这都是被你们这帮坏种逼的。

这次算是被互联网坏人上了一课,也提醒自己,敬畏技术,生产级的产品不是 AI 几下就能做出来的。

目前已经重新上线。下次争取活久一点。

相关推荐
Kapaseker2 天前
小白都看得懂的 Skill 教程 - 创建第一个 Skill
android·kotlin·vibecoding
ZacJi2 天前
我为 DeepSeek Harness 写了一个 dsh-apple-mode 插件
ios·deepseek·vibecoding
答案—answer3 天前
VibeCoding 能做到什么程度?我用它做了一座 3D 数字博物馆
3d·ai编程·threejs·vibecoding
火云牌神3 天前
前后端分离:约束 AI 分工,避免接口耦合与职责错乱
人工智能·系统架构·ai编程·前后端分离·vibecoding
文心快码BaiduComate3 天前
文心快码能力扩展、记忆、代码可视化上线
人工智能·ai编程·vibecoding
梦想的颜色3 天前
AI 时代小白 VibeCoding 做 APP:UniApp(含 Uni‑X)、Flutter 与 React Native+Expo全维度技术选型对比指南
flutter·react native·app·uniapp·vibecoding·unippx·app产品
飞扬的风信子3 天前
架构文档 — local-model-harness
agent·vibecoding
答案answer4 天前
VibeCoding 能做到什么程度?我用它做了一座 3D 数字博物馆
ai编程·three.js·vibecoding
Kapaseker4 天前
小白都看得懂的 Skill 教程 - 初识 Skill
android·kotlin·vibecoding