Java面试要点:频率限制、设备指纹、黑名单与规则引擎
前言
风控反作弊是企业系统保护业务资产的重要能力。常见场景:
- 登录撞库。
- 批量注册。
- 刷接口。
- 薅优惠券。
- 恶意下单。
- 支付风险。
风控链路
flowchart TD
A[业务请求] --> B[采集特征]
B --> C[规则判断]
C --> D{风险等级}
D -->|低| E[放行]
D -->|中| F[验证码/二次校验]
D -->|高| G[拒绝/人工审核]
常见特征
| 特征 | 示例 |
|---|---|
| 用户 | 账号、等级、历史行为 |
| 设备 | 设备指纹、浏览器、App 版本 |
| 网络 | IP、代理、地域 |
| 行为 | 点击频率、接口频率、下单频率 |
| 业务 | 金额、商品、优惠券、支付方式 |
频率限制
常见维度:
- IP。
- 用户 ID。
- 手机号。
- 设备 ID。
- 接口。
Redis 常用于滑动窗口或计数器限流。
黑名单和白名单
黑名单用于阻断高风险主体,白名单用于保障重要客户或内部账号。
注意:
- 黑名单要有来源和有效期。
- 不能无限期堆积。
- 命中后要有审计。
规则引擎
简单风控可以用代码规则,复杂风控建议抽象规则配置。
规则示例:
1 | 同一手机号 10 分钟内发送验证码超过 5 次 -> 拦截 |
实时风控与离线风控
实时风控:
- 登录拦截。
- 下单拦截。
- 支付校验。
离线风控:
- 事后分析。
- 黑名单沉淀。
- 模型训练。
两者配合使用。
高频面试题
风控为什么不能只靠验证码?
验证码只是挑战手段,真正判断风险还要结合设备、IP、行为和业务特征。
限流和风控有什么区别?
限流偏流量保护,风控偏业务风险识别。两者可以组合。
黑名单怎么避免误伤?
要有来源、有效期、人工复核和申诉机制,高风险动作可以先二次验证而不是直接封禁。
风控规则怎么上线?
建议灰度、监控命中率、观察误杀率,并支持快速回滚。
总结
风控反作弊的关键是特征采集、规则判断、分级处置、监控反馈。企业里风控不是一个 if 判断,而是实时规则、离线分析、黑白名单、验证码和人工审核组合起来的防护体系。
本博客所有文章除特别声明外,均采用 CC BY-NC-SA 4.0 许可协议。转载请注明来源 Junly博客!
评论


