部分企业平台设置了注册短信验证码,这无论对企业平台还是对用户来说都是有好处的。但同时也存在个别的不法分子利用某些软件在频繁请求验证码,这对企业平台和用户都造成了不好的影响。今天小编就给大家具体说说验证码短信防刷的问题,重点讲下短信验证码防刷的必要性,以及如何设置验证码短信防刷机制。
一、短信验证码防刷的必要性
我们知道验证码短信都是通过短信通道发出来的,这个通道具有一定的容量宽度。如果验证码短信被恶意集中来耍的话,就在短时间里造成短信通道阻塞,使得很多正常的用户不能收到短信验证码,这就是严重影响到了用户体验和具体的操作。也会让企业平台流失大量的基准用户,给企业平台带来极为不利的影响。
另外企业平台使用验证码短信是要付费的,如果被这些恶意软件大量申请,势必会造成资源浪费,给企业带来经济上的损失。因此使用验证码短信的企业和平台做好验证码防刷措施有着一定的必要性。
二、如何设计短信验证码防刷机制
1、时间限制:收到一次验证码短信以后60秒才能再次获取
从发送验证码开始,前端(客户端)会进行一个60秒的倒数,在这一分钟之内,用户是无法提交多次发送信息的请求的。这种方法虽然使用得比较普遍,但是却不是非常有用,对于代码技术做的别较好的人基本可以很快绕过这个机制,使得前段不收时间限制直接发送验证码短信。
2、对同一个手机号进行限制:设定同一个手机号24小时之内不得发送超过5条验证码短信
对于使用一个手机号码进行注册需要短信验证码的操作,客户端本身的计算机制可以对这个手机号码进行限制。例如,24小时仅能发送5条验证码短信,超出这个限制就提示报错(如:系统繁忙,请稍后再试)。但是这种方法只能限制人工恶意刷短信的行为,对于应用黑客软件同用不同手机号来获取平台验证码短信的行为还是不能避免的,对于这种行为这种限制手机号的机制也是束手无策。
3、对短信验证码进行限制:限制30分钟之内所有注册都发送同一个验证码
网上还有一种方法说:对于30分钟之内客户端所有的验证码短信请求,其发送的短信验证码都是一样的。第一次请求短信接口,然后缓存短信验证码结果,30分钟之内再次请求,则直接返回缓存的内容。对于这种网上这种说法,小编没有实践过,所以也不清楚这种方式,短信群发平台会不会对发送缓存的信息再次收费,如果有兴趣可以了解了解。
4、前后端进行校验对比:提交Token参数校验
使用这种方式的平台几乎很少,个人觉得可以这种方法值得一试。前端(客户端)在请求发送验证码短信的时候,同时向服务端提交一个用户的Token参数,服务端对这个用户的Token参数进行校验,校验通过之后,再向请求发送短信的平台往用户手机上发送短信。
通过这篇文章小编主要给大家讲了验证码短信的防刷机制,看到这里我想很多企业都知道了验证码短信使用防刷机制是很有必要的。至于企业选择哪种防刷机制还是各个企业根据自己的实际情况甄别选择。