爱意满满的作品展示区。
gxlwm

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

  •  
  •   gxlwm · 5h 40m ago · 1956 views

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

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

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

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

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

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

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

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

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

    Vercel DDoS Mitigation 数据

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

    103.197.30.225
    103.197.30.226
    

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

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

    锐评条目列表

    拔电源吧

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

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

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

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

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

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

    Vercel 流量概览

    乱码评论和异常刷票结果

    日志里的时间线

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

    21:12:53  GET  /t/v2ex       200
    

    紧接着:

    21:13:09  GET  /t/rping-cc   200
    21:13:16  POST /t/rping-cc   200
    

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

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

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

    图片 4

    所以是 V 站用户干的吗?

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

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

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

    图片 5

    连夜补窟窿

    关站以后,我紧急补了几条安全规则。

    屏蔽攻击 IP ,开启 Attack Mode ,增加全站请求限流,给统计接口和详情页写操作单独限流,关闭游客评分和评论,清理异常数据,再检查一遍服务端校验和数据库约束。

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

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

    总结:Vibe Coding 路边一条

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

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

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

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

    40 replies    2026-08-16 14:51:49 +08:00
    YAFEIML
        1
    YAFEIML  
       5h 34m ago
    域名停放了
    winnerczwx
        2
    winnerczwx  
       5h 29m ago
    这个问题套一层 cf 就解决了啊
    gxlwm
        3
    gxlwm  
    OP
       5h 29m ago
    @YAFEIML 我写错了,是 rping.cc 不是 com - -
    gxlwm
        4
    gxlwm  
    OP
       5h 28m ago
    @winnerczwx 可是我是 vibe coding ,部署 vercel 一把梭啊,vercel 上也有防护,还要专门搞 cf 吗
    MrVito
        5
    MrVito  
       5h 6m ago
    这就不得不提到一句老话:害人之心不可有,防人之心不可无
    gxlwm
        6
    gxlwm  
    OP
       5h 0m ago
    @MrVito 学到了
    foryou2023
        7
    foryou2023  
       4h 42m ago
    有些人天生“坏”,不过好在是少部分,不过也不得不防。
    sydneyJin
        8
    sydneyJin  
       4h 41m ago
    现实中能面对面的都直接插你的队,无视社会规则,更何况这互联网上
    jkjoke
        9
    jkjoke  
       4h 35m ago
    以前做了个聊天室,网友天天给我 xss 压力测试
    wonderfulcxm
        10
    wonderfulcxm  
       4h 35m ago via iPhone
    为什么要攻击这种刚上线的没有一点名气的小网站,换 ip 也要成本吧?应该是你得罪了人
    gxlwm
        11
    gxlwm  
    OP
       4h 33m ago
    @wonderfulcxm 我没得罪过人额
    wwmmkk
        12
    wwmmkk  
       4h 26m ago via iPhone
    这也太没素质了啊
    soulflysimple123
        13
    soulflysimple123  
       4h 21m ago
    老哥你这网站起码要接入 cloudeflare Turnstile
    BeijingBaby
        14
    BeijingBaby  
    PRO
       4h 17m ago via iPhone
    一样的😂 www.dev.com.cn 上个月被攻击过,不过后来处理好了,也没持续攻击,我就没发出来。也是不明白一个非盈利小站怎么会被攻击的。
    gxlwm
        15
    gxlwm  
    OP
       4h 14m ago
    @soulflysimple123 已经在 Vercel 设置了一些防火墙规则,并且设置了超出 5 美刀就停止服务,无所谓,破不了产。回头了解一下 CF
    gxlwm
        16
    gxlwm  
    OP
       4h 13m ago
    @BeijingBaby 不错不错,订阅一个
    zpxshl
        17
    zpxshl  
       4h 9m ago via Android
    一堆现实里面过得太压抑的坏种
    yidev
        18
    yidev  
       3h 32m ago
    打算做网站就要掌握一些基础的网络防护, 而不是靠谴责, 这种是 cc 攻击了. 可以让 AI 在入口都地方加个防火墙. 同一个 IP 或者同一个 Useragent 连续访问的频率超过阈值就 ban 掉. 或者弹出验证码才能继续. 最好从 nginx 里 ban
    lefer
        19
    lefer  
       3h 10m ago
    互联网释放了藏匿于心中的恶。

    也许那个攻击者有一份正经的工作,有一个幸福的家庭,但不妨碍他“找点乐子”。
    onling
        20
    onling  
       3h 9m ago
    之前也某名被恭喜过一次,感觉网站也不出门,就是不知道这些攻击的目的
    billzhuang
        21
    billzhuang  
       2h 23m ago
    有人攻击总比无人问津强一百倍
    kidult
        22
    kidult  
       2h 12m ago
    换种角度,别人花钱让你学习呢,真要是赚钱的网站,这么搞一下就凉了
    moefishtang
        23
    moefishtang  
       2h 6m ago
    @yidev (也别让 AI 自己 Vibe 防火墙出来了...不行 AI 部署个阿努比斯之类的 WAF ,自己安装也不难的...
    Y25tIGxpdmlk
        24
    Y25tIGxpdmlk  
       1h 49m ago
    我总结出来的方法:如果你的主要用户是国内的,就直接把国外 IP 通通禁用就好了,立竿见影,基本上刚坏事的,百分百都是挂国外 IP 。

    国内实名制,还有国内代理 ip 的价格,已经帮我把那些恶意用户通通筛选掉了。

    之前网站还经常被各种 thinkphp 的漏洞扫描突破啥的,自从我把全部国外 ip 一禁,再也没有出国一点事了。轻轻松松
    gxlwm
        25
    gxlwm  
    OP
       1h 48m ago
    @yidev 这是复盘和自省,我的核心主旨是敬畏技术,一个没有基础认知的人 vibe coding 出来的东西不可靠。相关知识还得了解,不是有 AI 就厉害了。如果没有这次被攻击,我不会把网络安全当回事儿。
    如果不是 Vercel 自动帮我拦截了 16w 请求,如果我去睡觉了没发现,今天早上醒来我应该已经欠了 200 美金了,因为 vercel pro 允许超额 200 美金才停机。
    gxlwm
        26
    gxlwm  
    OP
       1h 47m ago
    @kidult 学到了一点网络安全认知
    davidyin
        27
    davidyin  
       1h 47m ago via Android
    实现网站功能的代码只占全部代码 1/3 都不到,其它的各种验证,防护,防机器人,防恶意。
    Y25tIGxpdmlk
        28
    Y25tIGxpdmlk  
       1h 47m ago
    话说你这前端界面的分割是不是 claude 写的,感觉 claude 弄的前端默认就这种味道
    gxlwm
        29
    gxlwm  
    OP
       1h 46m ago
    @Y25tIGxpdmlk 学到了
    davidyin
        30
    davidyin  
       1h 46m ago via Android
    @Y25tIGxpdmlk

    其实也不一定的,最近一些来刷我的一个论坛的就是联通甘肃那边的 IP 。还挺执着。
    gxlwm
        31
    gxlwm  
    OP
       1h 45m ago
    @davidyin 这个我掉以轻心了,我还专门把权限放宽送了
    gxlwm
        32
    gxlwm  
    OP
       1h 44m ago
    @Y25tIGxpdmlk 不是,我 cc 早被封了,用 claude design 的插件设计的,我千挑万选了一个纸媒风格然后我自己又微调了挺多。还是 AI 味儿这么重吗?
    xing7673
        33
    xing7673  
       1h 43m ago
    取 id xjp 的不就是那种现实压抑的鉴证恶臭玩意。没爹教没妈养
    liuliuliuliu
        34
    liuliuliuliu  
       1h 39m ago
    真有人这么闲吗?
    gxlwm
        35
    gxlwm  
    OP
       1h 38m ago
    @xing7673 第一次这个人攻击我的网站,还可以接受,我本来网站权限放的宽松,被人人便爆破一下是我活该。
    但是我升级了防护措施和增加了攻击门槛后,他还专门注册账号,敏感 id ,刷评论,就纯恶心人了。
    liuliuliuliu
        36
    liuliuliuliu  
       1h 36m ago
    @BeijingBaby 卧槽,这域名牛逼,花了多少钱?
    gxlwm
        37
    gxlwm  
    OP
       1h 33m ago
    @liuliuliuliu 我不懂网络攻击,感觉那个人可能挂了个比较智能的脚本吧,然后就去睡觉了,我觉得应该不会有人无聊到盯着我的网站爆破了。
    因为最初的 2 个 ip 会刷评分,我关了网站,收紧网站权限后再次上线,那两个 ip 还在一直做网络请求。
    我把 ip ban 了,还会换 ip ,开始刷评论。
    难道是有人像通过现实教育让我敬畏网络安全?
    jacketma
        38
    jacketma  
       1h 12m ago
    是不有一些小朋友专门来练手的啊,不求收益多大,但求恶搞好玩
    davidyin
        39
    davidyin  
       21 mins ago via Android
    其实攻击也挺费钱的。
    不费钱的就费时间。

    估计是个不差钱不差时间的主。
    gxlwm
        40
    gxlwm  
    OP
       13 mins ago
    @jacketma 没轻没重得,要不是 vercel 有基础防火墙,我已经损失 200 美刀了- -
    About   ·   Help   ·   Advertise   ·   Blog   ·   API   ·   FAQ   ·   Solana   ·   2803 Online   Highest 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 137ms · UTC 07:04 · PVG 15:04 · LAX 00:04 · JFK 03:04
    ♥ Do have faith in what you're doing.