访问黑名单的实现方案

近日被邀请参与产品中一个组件的访问黑名单管理特性的评审,结合近期个人学习的积累,输出本文,作为总结。

按照命题要求,本需求针对访问频繁失败的账户,触发黑名单管理,将账户放入黑名单中。

从上述诉求中,需求明确如下概念:

  • 明确被访问的组件。
  • 访问行为的来源。
  • 如何定义访问是失败的。
  • 将账户放入黑名单之后,对业务的影响是什么,比如账户的访问被完全禁止、允许访问但限速等。

实现思路

进入黑名单

  • 进入标准,需要明确满足哪些标准,即可将账户放入黑名单中。
  • 进入形式,比如
    • 人工判断、人工放入
    • 算法判断、人工放入
    • 算法判断、程序自动放入

退出黑名单

  • 退出标准,需要明确满足哪些标准,即可以将黑名单中的账户移出。
  • 退出形式,比如
    • 人工判断、人工移出
    • 算法判断、人工移出
    • 算法判断、程序自动移出

判断算法

比如:

  • 连续失败次数达到一定规模。
  • 给定时间内失败次数超出一定规模。
  • 给定时间内并发访问量达到一定规模。

判断算法

比如LRU、令牌桶。

黑名单对业务的影响

账户进入黑名单之后,对于使用账户的访问操作,一般可以采取禁止和降速等管控方式。
实现时结合访问操作的来源,可以采取如下方案:

  • 完全禁止
  • 部分来源的操作,完全禁止
  • 降低访问频率
  • 部分来源的操作,完全禁止
  • 禁止特定业务的访问
  • 降低特定业务的访问频率

黑名单的规格

  • 黑名单中记录的数量
  • 保留的时长,包括最小时长、最大时长
  • 黑名单的访问并发度
  • 受黑名单影响的特性的清单
posted @   jackieathome  阅读(20)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· 阿里最新开源QwQ-32B,效果媲美deepseek-r1满血版,部署成本又又又降低了!
· SQL Server 2025 AI相关能力初探
· AI编程工具终极对决:字节Trae VS Cursor,谁才是开发者新宠?
· 开源Multi-agent AI智能体框架aevatar.ai,欢迎大家贡献代码
· Manus重磅发布:全球首款通用AI代理技术深度解析与实战指南
点击右上角即可分享
微信分享提示