V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
V2EX 提问指南
balabalaguguji
V2EX  ›  问与答

今天网站被人搞破坏了

  •  
  •   balabalaguguji · 2021-08-07 22:26:49 +08:00 · 1745 次点击
    这是一个创建于 1203 天前的主题,其中的信息可能已经有所发展或是发生改变。

    网站被人用不同的 IP 疯狂访问,还好 IP 不多,5,6 个 IP,访问的都是同个 API 。

    Nginx 配置 IP 频率限制只能限制同个 IP

    Nginx 有什么配置方法可以限制这种不同 IP 疯狂访问的,它访问的都是同个 API,但是显然不能根据 API 来限制频率,可能刚好有真实用户访问这个 API 。

    用多个访问频率限制应该可以解决,例如每秒限 5 次, 每分钟限 100 次

    6 条回复    2021-08-09 19:52:41 +08:00
    PerFectTime
        1
    PerFectTime  
       2021-08-07 22:30:37 +08:00
    接口加签,根据 token 限流
    v2k9
        2
    v2k9  
       2021-08-07 22:32:49 +08:00
    这个量不用管。

    真要进行限制,有可能会误判,影响正常用户使用。

    网络上每天都有各种 IP 扫描,实在管不过来。

    后台安装个 Nginx 防火情,可以设定限制规则。
    balabalaguguji
        3
    balabalaguguji  
    OP
       2021-08-07 22:42:21 +08:00
    @PerFectTime #1 嗯,tokon 都是一样的,这个可以。
    eason1874
        4
    eason1874  
       2021-08-07 22:43:54 +08:00
    从别处过来的傻缺爬虫吧,我的网站曾经被几个 IP 每天各访问几万次,限制一下请求频率就安静了。

    如果是 Nginx,原生配置可以用 limit_req 根据 IP 限流,要高度自定义就加个 ngx_lua 或者 njs 模块自己写流控。
    ch2
        5
    ch2  
       2021-08-07 22:44:41 +08:00
    用 redis 限流
    killva4624
        6
    killva4624  
       2021-08-09 19:52:41 +08:00
    作为网关的话,可以用 Kong,基于 nginx_lua 开发的,自带限流、监控插件和管理 API 等,作为网关管理的话比纯 Nginx 舒服一些。
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   2651 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 28ms · UTC 11:31 · PVG 19:31 · LAX 03:31 · JFK 06:31
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.