短信接口怎么对接最安全?如何防止盗刷?

大多系统在做注册、登录、找回密码、修改密码等功能时,往往需要发送短信验证码来确定当前操作者即为该账号的所属者,来保障账号的安全。

发送一条短信费用大概在0.03-0.04之间,对于正常的使用,勉强是可以接受的。

如果控制不好,会被滥用,花钱不说,对用户造成不好的体验。

如何防止短信接口被滥用、盗用?

1、前端增加时间限制,如:js控制60秒后才能继续发送(但不用等60秒,刷新后又能获取)

2、前端用cookie,把剩余限制的时间记录到cookie内,解决刷新剩余时间消失的问题(但初级程序员会通过f12,看到请求事件,直接在浏览器内访问短信接口地址)

3、采用post方式,解决浏览器内直接访问的问题(但仍能通过接口调用工具如postman进行调用)

4、通过后台记录手机号发送验证码的记录,限制发送时间间隔,解决通过工具调用(但程序员可以写脚本每隔1分钟请求一次)

5、通过限制每个手机号每天的发送次数,可以解决4的问题(但程序员同样可以写脚本把所有的手机号遍历一遍,挨个发送)

6、通过限制每个ip的发送次数来解决5的问题(但程序员同样可以写脚本,通过代理ip绕过对ip的限制)

7、前端设置图片验证码,解决6的问题(但一般简单的图片验证码同样可以软件进行识别,照样可以用脚本调接口)

8、一般到第7步,基本可以解决短信接口盗刷问题。你应该明白12306为什么设置那么复杂的验证码了吧。

想做到万无一失,仿照12306做验证,保证是人为在操作。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值