惯性聚合 高效追踪和阅读你感兴趣的博客、新闻、科技资讯
阅读原文 在惯性聚合中打开

推荐订阅源

D
Docker
博客园 - 三生石上(FineUI控件)
Cyber Security Advisories - MS-ISAC
Cyber Security Advisories - MS-ISAC
博客园_首页
Microsoft Azure Blog
Microsoft Azure Blog
GbyAI
GbyAI
腾讯CDC
酷 壳 – CoolShell
酷 壳 – CoolShell
M
MIT News - Artificial intelligence
Stack Overflow Blog
Stack Overflow Blog
钛媒体:引领未来商业与生活新知
钛媒体:引领未来商业与生活新知
Jina AI
Jina AI
爱范儿
爱范儿
博客园 - 【当耐特】
雷峰网
雷峰网
S
SegmentFault 最新的问题
美团技术团队
Blog — PlanetScale
Blog — PlanetScale
The GitHub Blog
The GitHub Blog
有赞技术团队
有赞技术团队
G
Google Developers Blog
大猫的无限游戏
大猫的无限游戏
Google DeepMind News
Google DeepMind News
J
Java Code Geeks

Aimee's Blog

秒杀怎么防机器人:验证码之外的几道防线 接口限流怎么选:固定窗口、滑动窗口、令牌桶 批量打包下载怎么设计:流式 ZIP 与异步任务 图片处理怎么做:异步处理与 CDN 实时参数 大文件上传怎么设计:分片、断点续传、秒传 报表可重跑的设计:快照、水位线与幂等 UV 统计为什么有误差:精确计数与近似计数怎么选 大数据量导出怎么做:流式写入与异步任务 排行榜的两类需求,难度差了一个数量级 内容审核怎么选:先审后发,还是先发后审 实时热榜怎么设计:Redis ZSet 与热度分值 互关状态怎么保持同步:双向关系的维护与缓存失效 并发点赞的计数设计:原子操作与最终对账 删了父评论,子评论怎么处理——先想清楚用户看到的是什么 定时消息任务触发了两次 消息量大,写扩散还是读扩散——接到这个需求先问清楚规模 同一条消息推送了三次 活动结束了,用户还在收短信 接到注销需求,先问两个问题 微服务与服务拆分:何时拆、怎么拆 异步与事件驱动架构:把协作从「打电话」改成「发消息」 高可用设计:怎么让系统尽量不宕机 可扩展性设计:怎么让系统加机器就能扛更多 缓存架构:多级缓存怎么搭 高并发三板斧:限流、熔断、降级 架构设计到底在设计什么 —— 从单体到微服务的演进 服务成本账:一个服务一个月烧多少钱 可观测性:线上出问题怎么查 API 设计:好接口长什么样 消息队列:为什么要 MQ,以及丢失、重复、顺序怎么破
防薅羊毛怎么做:号码风控、设备指纹与分层策略
Aimee · 2026-08-18 · via Aimee's Blog

防薅羊毛怎么做:号码风控、设备指纹与分层策略

拉新活动的经典剧本:新注册送无门槛券,上线后领取量涨得飞快——然后一看数据,手机号段高度集中、激活率接近零,全是接码平台的虚拟号,从来没人真正打开过 App。


薅羊毛的常见路径

虚拟号注册:通过接码平台,花几毛钱买一个临时手机号,完成注册+验证码,领完优惠立即废弃。

设备批量操作:一台手机刷机后用不同账号重复领,或者模拟器批量跑注册脚本,设备标识可以随意伪造。

工作室操作:大量真实手机卡 + 真实手机,但账号行为高度一致(注册即领、从不正常使用)。


手机号质量判断

接码平台常用的号段相对集中(如某些 170/171 虚拟运营商号段),运营商在号码归属地和号段类型上有数据可以拉取,或直接接第三方手机号风险评分服务:

  • 号码活跃度:这个号最近三个月有无正常通话/上网行为
  • 号段类型:实体 SIM / 虚拟号 / 物联网卡
  • 历史投诉:是否有欺诈投诉记录

高风险号码注册时不拦截(避免漏拦正常用户),而是打上风险标记,后续发券时二次校验。


设备指纹

手机号是可以批量购买的,设备特征更难批量伪造。

设备指纹收集维度(前端 SDK 采集):

  • 设备型号、操作系统版本、屏幕分辨率
  • 网络运营商、时区
  • App 安装时间、首次打开时间
  • Canvas/WebGL 指纹(浏览器侧)

后端把这些特征聚合成设备 ID,规则之一:同一设备 ID 注册超过 N 个账号,后续领取标记为可疑。

注意:设备 ID 可以被攻击者规避(刷机、改参数),所以设备指纹是信号之一,不是唯一依据。


行为特征检测

正常用户的注册到使用路径,和羊毛党差别很大:

特征正常用户羊毛党
注册到领券时间分钟到小时秒级(脚本直接跑接口)
页面停留时长正常浏览极短或没有
后续活跃有正常使用领完即走,再无登录
地理位置稳定频繁变化或与手机号归属地不符

注册时打时间戳,7 天后批量跑一个任务:这批新注册用户里,多少人在领券后有任何后续行为——如果激活率低于某个阈值,触发复核。


分层风控策略

全面拦截会误伤正常用户,分层处理更合理:

事前(注册时):手机号风险评分,高风险强制人脸识别或不发券。

事中(领券时):设备指纹 + 行为评分,可疑账号发延迟券(24 小时后到账),给复核留时间。

事后(使用时):真正使用券下单时,再次校验账号风险状态;已判定为羊毛账号,冻结优惠券。

批量回收已发的券要谨慎——误伤正常用户的投诉和舆情成本比损失的那些券代价更大。分层策略的核心是在不影响正常用户的前提下,让薅羊毛的成本足够高,让大多数人放弃。