浅谈微信承载活动防刷问题
前言
回顾这一年做过的微信承载的活动,多多少少都是有被刷的情况,在防刷这个问题上还是有必要提高警惕,被薅羊毛是真的难受。 之前主要做过两类活动:
1.邀请好友助力,到达一定人数获得奖励(经典的裂变推广,运营就超级喜欢玩这个)
2.用户完成任务(如关注、问卷等),得到随机红包之类的奖励
如何防刷
奖励够诱人的话,就很容易被盯上,在技术上我们无法在根本上解决防刷问题,只能在一定程度提高复杂度来增加刷的成本,以下是几个层面对防刷的分析。
1.业务层面
刷助力以及完成任务都可分为人工和机器两种,我们只能增加群控操作的复杂性,不能从根本上避免,特别是人工刷的情况几乎没法避免,主要有下面两个思路:
前提:助力用户和完成任务用户的唯一性是基础,肯定是要优先保证的,通过缓存或者数据库保存助力用户openId即可。
1.增加微信用户授权(绝不部分黑产没办法做到自动点击授权,我们有个被刷的活动还真做到自动授权了,只能佩服黑产技术牛逼呀!)
2.增加验证码校验(用户助力活完成任务时候增加一层短信验证码或者图形验证码)
上面的两种方案也只能解决机器刷的问题,人工刷都是像我们真实用户一样操作真实的微信号,我们不能判断是通过平台派发任务的人工操作还是真实的用户助力,这也就是为什么技术上规避不了这种行为。
2.监控层面
除了上面在业务层面要增加业务的复杂性之外,对于如果被刷,需要及时的发现被刷并采取措施,以下是两种思路:
1.对每个来源IP设置请求的频率(超过一定频率IP加入黑名单)
2.监控奖品库存(库存不足,非活跃时间段扣减库存严重等及时告警)
如果你们有比较健全的监控平台,能做到接口调用频率等数据的分析那就更好了,也算做个总结后续做类似活动的话要从上面两个角度去控制防刷。