sxliusir
V2EX  ›  问与答

求救,怎么解决网站被恶意盗刷

  •  1
     
  •   sxliusir · Jul 12 · 2454 views
    This topic created in 118 days ago, the information mentioned may be changed or developed.

    我做了个简单的生成图片网站,有游客免费生成的功能,每个 ip 只能免费生成几次,我发现有些大批量请求是同一个人生成的,但是 ip 却都不同

    22 replies  •  2026-07-16 13:58:41 +08:00
    shuiduoduo
    shuiduoduo
    Jul 12 via iPhone
    1
    加盾
    BlueSpace4512
    2
    加 cdn 拦 bot 、再加浏览器指纹关联
    googlefans
    3
    @BlueSpace4512 拦 bot 不把 google bing 等正规的爬虫也拦住了吗?
    orion1
    orion1
    Jul 12
    4
    你咋知道是同一个人生成的,把原理告诉 waf
    sxliusir
    sxliusir
    OP
    Jul 12
    5
    判断同一人是他的 prompt 很相似,时间也很相近,大量的请求
    sxliusir
    sxliusir
    OP
    Jul 12
    6
    加什么盾呀,详细说说呢
    humbass
    humbass
    Jul 12 via Android
    7
    绑定手机号或者微信号 每个号限制就行了。
    potatowish
    potatowish
    Jul 12 via iPhone
    8
    生成结果打上大大的水印,登录可保存去除水印版本
    davidyin
    davidyin
    Jul 12 via Android
    9
    加 recaptcha
    cnrting
    cnrting
    Jul 12 via iPhone
    10
    改成必须登录
    foryou2023
    11
    国内搞成手机号登录,国外搞成谷歌邮箱登录。
    idblife
    idblife
    Jul 12 via iPhone
    12
    让 fable5 解决
    nc
    nc
    Jul 12
    13
    加上 fingerprintjs 检测,纯客户端的,只能防普通用户薅羊毛。更彻底的是直接把机房 IP 都屏蔽掉,可以用这个库: https://github.com/NetworkCats/Merged-IP-Data
    EvanClausen
    14
    判断用户浏览器指纹+CloudFlare Turnstile 。只限制 IP 的话随便一个 IP 池代理就绕过了。
    vvong
    vvong
    Jul 12
    15
    接 cloudflare 走 cf 的代理
    打开设置防机器人攻击 设置 Rate Limiting
    开启高强度防护
    laminux29
    laminux29
    Jul 12
    16
    人家微软、OpenAI 、Google 、Anthropic 对这种事情都没办法,你觉得你能怎么办。
    billccn
    billccn
    Jul 13
    17
    在开 WAF 的基础上可以试试:
    起一个 embedding 数据库,把 prompt 都跟里面搜一下,把最相似的拿出来用个简单本地模型分析一下,凡是同样请求的变体的把整个 IP 段的免费请求数将为 0
    Rache1
    Rache1
    Jul 13
    18
    @googlefans 这些正规 bot 都有 IP 列表的,如果想要放行,把他们的 IP 段加进去就好了。

    比如:

    Google:

    https://developers.google.com/crawling/docs/crawlers-fetchers/verify-google-requests?hl=zh-cn#automatic

    Bing:

    https://www.bing.com/webmasters/help/how-to-verify-bingbot-3905dc26
    sxliusir
    sxliusir
    OP
    Jul 13
    19
    感谢大佬们回复,昨天参考评论先加上了 IP+CloudFlare Turnstile 和 cf 的基础防机器人攻击,先观察两天后反馈效果。
    sxliusir
    sxliusir
    OP
    Jul 14
    20
    来反馈结果了,添加了 Ip 限制和 turnstile 校验,上线后 10 个小时,结果如下:


    总请求数:148
    turnstile_verification_failed:12
    turnstile_token_required:6
    too_many_guest_generations:4


    其中这几个拦截指标的含义
    turnstile_token_required 指的是游客请求没带 Turnstile token 。一般是脚本直接 curl 调接口产生。
    turnstile_verification_failed 指的是带了 token ,但 Cloudflare siteverify 校验不通过,一般是 token 过期或者携带第一次的 token 再次请求
    too_many_guest_generations 指的是游客超过当日免费配额。

    总体拦截情况挺好的,但是发现还是有一些没有登录的相同 ip 多次请求记录,还没排查出来怎么产生的,方案不是最终的,最终加固完成会再次反馈详细拦截实现方案。ps:所有的加固方案都是 AI 完成

    同时感谢上面大佬提供的思路,
    @BlueSpace4512 @EvanClausen @Rache1 @billccn @cnrting @davidyin @foryou2023 @googlefans @humbass @idblife
    googlefans
    21
    直接上 waf 得了
    sxliusir
    sxliusir
    OP
    Jul 16
    22
    加固后的网站是这个,欢迎大家试用
    https://grokimage.ai/
    About   ·   Help   ·   Advertise   ·   Blog   ·   API   ·   FAQ   ·   Privacy   ·   Solana   ·   1900 Online   Highest 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 58ms · UTC 08:33 · PVG 16:33 · LAX 00:33 · JFK 03:33
    ♥ Do have faith in what you're doing.