加身份验证咯
忘记密码这类短信本身是不需要身份验证的,除非加图像验证码
@代码乱了: 这个是一种方法,而且验证码难度越大越好
一般情况下不是每个手机号重复发送需要间隔嘛.
而且其实发送短信验证码接口都是要输入图片验证码的只是一般人很少去做
1、增加次数限制。
2、身份认证。
3、忘记密码这种公开的短信功能,可以考虑让客户发送短信给你。
限制发短信次数呗
我说说我现在接口的做法:
第一,接口调用会核对身份,我指的身份,是指,调用这个接口的身份是不是我们服务器本身,或者是合法请求。具体的做法是:每次发回一个唯一时间戳+随机数和时间戳加密加密字符串,这个加密算法只有我们自己知道。每个时间戳只能用一次。
第二,每种验证码,每个手机号,需要间隔60秒才能重新请求,每天每个手机号每种类型的验证码只允许请求三次(这个需要你结合你们自己的业务自己定)
第三,每个IP每分钟只允许请求一个验证码。
第三点,虽然ip可以通过代理等方式解决,但是能增加对方的成本。互联网本身就是这样子,有时候,没有最安全,只有更安全,你增加了对方作恶的成本,或者人家就找下一个。人家也会想没必要在你这里死磕。要多加各种手段,增加对方非法调用的成本即可。
以上。