短信验证码是众多企业产品安全验证的首选,如网站、app用户注册短信验证、短信安全登录、支付验证等,但短信验证码被刷是很多企业深恶痛绝的,不仅会造成经济上的损失,还会影响公司的形象,那么如何防止短信验证码被刷?有哪些措施呢?
防止短信验证码被刷可以采取以下几种措施:
1、图形验证码限制:图形验证通过后再请求接口
图形验证码限制是最常用的一种方式,用户输入图形验证码并通过之后,再请求短信接口获取验证码。
2、时间限制:60秒后才能再次发送
这种措施使用得比较普遍,从发送验证码开始,前端(客户端)会进行一个60秒的倒数,在这一分钟之内,用户是无法提交多次发送信息的请求的。但是却不是非常有用,技术稍微好点的人完全可以绕过这个限制,直接发送短信验证码。
3、手机号限制:同一个手机号,24小时之内不能够超过5条
对使用同一个手机号码进行注册或者其他发送短信验证码的操作的时候,系统可以对这个手机号码进行限制,例如,24小时只能发送5条短信验证码,超出限制则进行报错(如:系统繁忙,请稍后再试)。然而,这也只能够避免人工手动刷短信而已,对于批量使用不同手机号码来刷短信的机器,这种方法也是无可奈何的。
4、产品流程限制:分步骤进行
例如注册的短信验证码使用场景,我们将注册的步骤分成2步,用户在输入手机号码并设置了密码之后,下一步才进入验证码的验证步骤。 推荐阅读:短信验证码平台哪个好
5、绑定服务器IP
让供应商的短信验证码接口绑定固定一个或几个服务器IP,这样非本服务器则会报错;
以上是防止短信验证码被刷常用的一些措施,以上的方法并不一定能够完全杜绝短信被刷,因此,我们也应该做好短信的预警机制,即当短信的使用量达到一定量之后,向管理员发送预警信息,管理员可以立刻对短信的接口情况进行监控和防护。