开发者社区> 问答> 正文

Django Rest Framework如何实现的用户访问频率控制?

Django Rest Framework如何实现的用户访问频率控制?

展开
收起
珍宝珠 2019-11-22 13:16:33 1631 0
1 条回答
写回答
取消 提交回答
  • # 对匿名用户,根据用户IP或代理IP作为标识进行记录,为每个用户在redis中建一个列表
        {
            throttle_10.1.1.1:[1526868876.497521, 152686885.497521, ...],
            throttle_10.1.1.2:[1526868876.497521, 152686885.497521, ...],
            throttle_10.1.1.3:[1526868876.497521, 152686885.497521, ...],
        } 
     每个用户再来访问时,先去记录中剔除过期记录,再根据列表的长度判断是否可以继续访问。
     '如何封IP':在防火墙中进行设置
    --------------------------------------------------------------------------
    # 对注册用户,根据用户名或邮箱进行判断。
        {
            throttle_xxxx1:[1526868876.497521, 152686885.497521, ...],
            throttle_xxxx2:[1526868876.497521, 152686885.497521, ...],
            throttle_xxxx3:[1526868876.497521, 152686885.497521, ...],
        }
    每个用户再来访问时,先去记录中剔除过期记录,再根据列表的长度判断是否可以继续访问。
    如1分钟:40次,列表长度限制在40,超过40则不可访问
    
    2019-11-22 13:16:43
    赞同 展开评论 打赏
问答排行榜
最热
最新

相关电子书

更多
ui-model,跨框架复用 立即下载
函数计算最佳实践:快速开发一个分布式 Puppeteer 网页截图服务 立即下载
Web应用系统性能优化 立即下载