做了一个概率类的小游戏,被人攻击了,大家有没有什么好的防范手段 - V2EX
V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
bigbigeggs
8.67D
V2EX    问与答

做了一个概率类的小游戏,被人攻击了,大家有没有什么好的防范手段

  •  
  •   bigbigeggs 20 天前 1489 次点击

    做了一个纯拼运气的概率小游戏,https://www.gdufe888.top/wt/
    然后搞了一个排行榜,但是被人找到后端接口,开始用脚本恶意请求,然后刷我的接口,导致我的服务直接重启,启动之后又挂了

    我已经用了以下手段来防范,但还是有人攻击,恶意请求,大家有没有一些更好的手段

    • 校验请求的 UA Refer 等基础校验
    • 增加前后端 token 校验,使用混淆盐的方式
    • 拦截高频 IP 地址

    但是还是有人破解了 token 规则,然后还在一直刷我的接口,我都无语了这帮人,大家还有没有一些更好的手段

    求助安全的大佬

    14 条回复    2025-10-24 18:19:25 +08:00
    hallDrawnel
        1
    hallDrawnel  
       20 天前   1
    套 CF ?
    dcvsiug
        2
    dcvsiug  
       20 天前
    刚试了一下,搜索 token 然后复制一段 js 到 claude 就破解了。要不经常变化 token 规则提高一下破解时间成本?
    bigbigeggs
        3
    bigbigeggs  
    OP
       20 天前
    @hallDrawnel cf 是什么,需要花钱去买么
    hallDrawnel
        4
    hallDrawnel  
       20 天前
    cloudflare @bigbigeggs 有免费的额度
    bigbigeggs
        5
    bigbigeggs  
    OP
       20 天前
    @dcvsiug 是的,怎么混淆,AI 还是可以很轻松识别的,经常改代码总感觉不能一劳永逸,不知道有没有更好的办法
    MossFox
        6
    MossFox  
       20 天前   2
    我来几个方向,实践肯定都能做,只不过大部分时候的对抗是增加破解难度,做不到全防御。

    需要加密或者带 token 的情况,浏览器支持 WASM 可以将一些签名逻辑放进去,WASM 部分随便用 C C++ Rust 写都行,但是问题是如果只是通过 Javascript 把它当成黑盒调用,起不到防御的作用,除非增加计算量挑战,类似 Cloudflare 的人机验证过程,消耗客户端 CPU 资源来增加高频请求的成本 (计算量大的话避免堵住主线程最好放 Web Worker 里面执行);

    现代 Web 可以用 WebRTC 来走 UDP 跟你的服务端悄悄交换一些数据,例如把凭据放进去,可以给傻瓜式的自动化脚本增加一道坎,代价就是用户如果浏览器里面禁用掉了部分特性则直接歇,以及如果用户网络环境特别特殊、UDP 被拦了的情况也是直接歇;

    前端计算 token 的逻辑和整个业务逻辑混起来并上一道 JSVMP 之类的混淆。这个破解也就是体力活,增加成本但不保证全防御,而且对客户端性能有些影响,但至少还算能保证用户无感知;

    玩阴的,将某些静态资源 (例如 img ,Javascript 用 new Image 设置 src 等加载,直接 fetch 会被光速怀疑) 偷偷摸摸作为合法请求的校验前提。你可以用只有合法用户操作才会触发加载的的情况下偷偷初始化一次这个。或者就是将某些凭据数据放在图像 bitmap 或者元数据或者冗余数据里面。这个也只是猫抓老鼠,被看出来了也没办法,要配合好客户端侧 Javascript 的混淆才能多防一会。

    或者,也可以转移成本。要么上个常见云服务提供商的验证码,要么随便接入个第三方授权登录。这些可能就对用户不友好了。
    sbmzhcn
        7
    sbmzhcn  
       20 天前
    套 cloudflare ,搞定绝大部分人。完全免费。 使用 cloudflare 解析你的域名,开启代理功能,也就是隐藏你后端真实的 ip 即可。
    lns04226
        8
    lns04226  
       19 天前
    问个别的问题,请问下 OP 你这个站点前端用的什么服务器,没有备案但是速度还挺快的
    KING754
        9
    KING754  
       19 天前
    后端算,返前端
    KING754
        10
    KING754  
       19 天前
    然后加时间戳。
    dode
        11
    dode  
       19 天前
    先定期清理排行榜,让大家有参与感,清理异常速率的 IP 请求
    bigbigeggs
        12
    bigbigeggs  
    OP
       18 天前
    @MossFox 感谢,学到了,“偷偷初始化一次这个” 感觉这个可行,如果不让 f12 捕获到 那就更好了
    bigbigeggs
        13
    bigbigeggs  
    OP
       18 天前
    @lns04226 备案了,腾讯云的小水管
    lns04226
        14
    lns04226  
       17 天前
    @bigbigeggs 好吧,看你首页没备案号,还以为不在国内呢
    关于     帮助文档     自助推广系统     博客     API     FAQ     Solana     988 人在线   最高记录 6679       Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 24ms UTC 19:17 PVG 03:17 LAX 11:17 JFK 14:17
    Do have faith in what you're doing.
    ubao msn snddm index pchome yahoo rakuten mypaper meadowduck bidyahoo youbao zxmzxm asda bnvcg cvbfg dfscv mmhjk xxddc yybgb zznbn ccubao uaitu acv GXCV ET GDG YH FG BCVB FJFH CBRE CBC GDG ET54 WRWR RWER WREW WRWER RWER SDG EW SF DSFSF fbbs ubao fhd dfg ewr dg df ewwr ewwr et ruyut utut dfg fgd gdfgt etg dfgt dfgd ert4 gd fgg wr 235 wer3 we vsdf sdf gdf ert xcv sdf rwer hfd dfg cvb rwf afb dfh jgh bmn lgh rty gfds cxv xcv xcs vdas fdf fgd cv sdf tert sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf shasha9178 shasha9178 shasha9178 shasha9178 shasha9178 liflif2 liflif2 liflif2 liflif2 liflif2 liblib3 liblib3 liblib3 liblib3 liblib3 zhazha444 zhazha444 zhazha444 zhazha444 zhazha444 dende5 dende denden denden2 denden21 fenfen9 fenf619 fen619 fenfe9 fe619 sdf sdf sdf sdf sdf zhazh90 zhazh0 zhaa50 zha90 zh590 zho zhoz zhozh zhozho zhozho2 lislis lls95 lili95 lils5 liss9 sdf0ty987 sdft876 sdft9876 sdf09876 sd0t9876 sdf0ty98 sdf0976 sdf0ty986 sdf0ty96 sdf0t76 sdf0876 df0ty98 sf0t876 sd0ty76 sdy76 sdf76 sdf0t76 sdf0ty9 sdf0ty98 sdf0ty987 sdf0ty98 sdf6676 sdf876 sd876 sd876 sdf6 sdf6 sdf9876 sdf0t sdf06 sdf0ty9776 sdf0ty9776 sdf0ty76 sdf8876 sdf0t sd6 sdf06 s688876 sd688 sdf86