安全兜底分级:
- 无限额涉及钱 比如退款
- 限额涉及钱 为用户提供的红包奖励等,通常限额
- 无门槛虚拟货币 无门槛优惠券、积分等,由于这部分基本与货币可以等值,但是由于存在可以追回的机会,所以尚存一些容错)
- 有门槛虚拟货币 因为是为了促销,并不会带来实质经济损失,所以没有那么敏感
分级之后,再进一步划分处理的级别。因为人力和时间都是有限的,很难将所有的安全兜底都控制的那么完美,那就优先保证一些损失影响可能较大的业务上。
权重更高的业务,可以予以更严谨的测试,以及附加的人工审核机制,更频繁的监控等。相对权重较低的,就可能重视程度不那么高,仅保留较低限度的兜底。
安全第一步,防刷
最常见的短信验证码服务,由于是注册用,所以无需登录就能调用。若发短信接口无任何保护措施,直接调用三方短信通道,很容易被短信轰炸平台滥用。
那么,如何防刷?
验证额外参数信息
验证客户端请求头的一些额外参数,比如是否存在浏览器或手机型号、设备分辨率请求头。因为像那些爬虫,一般就只能接收到URL。
先过注册页
无论何种客户端注册,一定要先进入注册页,才能看到验证码按钮。 所以可以在页面打开时请求固定的前置接口,为这个设备开启允许发送验证码的窗口,之后的请求发送验证码才算合法请求。
这可以拦截绕过固定流程,直接通过接口调用验证码的请求。
控制同一手机号的发送次数、间隔
除非是没收到短信,否则用户不太会请求了验证码后不点击注册,还重新请求。 所以,可以限制同一手机号每天的最大请求次数。还要控制好发送的时间间隔,常见的至少间隔1min。
增加前置操作。
短信轰炸平台会收集很多免费短信接口,而且一个接口它们也只会给一个用户发一次短信,不会触发上一条规则。
对于这种情况,可以将图形验证码作为前置条件。技术