短信登录API
https://www.jianshu.com/p/cbdc479d3871
安全验收标准:
短信验证码有效期2分钟
验证码为6位纯数字
每个手机号60秒内只能发送一次短信验证码,且这一规则的校验必须在服务器端执行
同一个手机号在同一时间内可以有多个有效的短信验证码
1 | 如:第61秒的时候假如又请求发送一次验证码,两个验证码都有效 |
保存于服务器端的验证码,至多可被使用3次(无论和请求中的验证码是否匹配),随后立即作废,以防止暴力攻击
短信验证码不可直接记录到日志文件
(可选)发送短信验证码之前,先验证图形验证码是否正确
1 | 防止故意消耗短信发送配额,一旦配额被用完,用户就无法正常登录 |
- (可选)集成第三方API做登录保护
1 | 主要原理是,服务器在处理登录请求的时候,先尽可能多的收集该请求的上下文信息,例如登录请求的来源IP地址,时间,手机号,User-Agent等等数据,并且把这些数据传递给第三方API,由他们进行一次分析判断,并把结果返回给服务器,告诉服务器当前请求者是可信用户还是可疑用户。 |