访问黑名单的实现方案
近日被邀请参与产品中一个组件的访问黑名单管理特性的评审,结合近期个人学习的积累,输出本文,作为总结。
按照命题要求,本需求针对访问频繁失败的账户,触发黑名单管理,将账户放入黑名单中。
从上述诉求中,需求明确如下概念:
- 明确被访问的组件。
- 访问行为的来源。
- 如何定义访问是失败的。
- 将账户放入黑名单之后,对业务的影响是什么,比如账户的访问被完全禁止、允许访问但限速等。
实现思路
进入黑名单
- 进入标准,需要明确满足哪些标准,即可将账户放入黑名单中。
- 进入形式,比如
- 人工判断、人工放入
- 算法判断、人工放入
- 算法判断、程序自动放入
退出黑名单
- 退出标准,需要明确满足哪些标准,即可以将黑名单中的账户移出。
- 退出形式,比如
- 人工判断、人工移出
- 算法判断、人工移出
- 算法判断、程序自动移出
判断算法
比如:
- 连续失败次数达到一定规模。
- 给定时间内失败次数超出一定规模。
- 给定时间内并发访问量达到一定规模。
判断算法
比如LRU、令牌桶。
黑名单对业务的影响
账户进入黑名单之后,对于使用账户的访问操作,一般可以采取禁止和降速等管控方式。
实现时结合访问操作的来源,可以采取如下方案:
- 完全禁止
- 部分来源的操作,完全禁止
- 降低访问频率
- 部分来源的操作,完全禁止
- 禁止特定业务的访问
- 降低特定业务的访问频率
黑名单的规格
- 黑名单中记录的数量
- 保留的时长,包括最小时长、最大时长
- 黑名单的访问并发度
- 受黑名单影响的特性的清单
本文来自博客园,作者:jackieathome,转载请注明原文链接:https://www.cnblogs.com/jackieathome/p/18239809
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 阿里最新开源QwQ-32B,效果媲美deepseek-r1满血版,部署成本又又又降低了!
· SQL Server 2025 AI相关能力初探
· AI编程工具终极对决:字节Trae VS Cursor,谁才是开发者新宠?
· 开源Multi-agent AI智能体框架aevatar.ai,欢迎大家贡献代码
· Manus重磅发布:全球首款通用AI代理技术深度解析与实战指南