不论什么场景验证、鉴权功能不能放在前端
1. 手机号合法性验证
a.民用手机号
b.登录、注册、密码找回等关键接口的短信验证码发送,
不能在接口返回时暴露过多信息,如提示:此手机号未注册。避免扫号、枚举
2. 单手机号单位时间内短信验证服务的调用次数限制
3. 短信验证码的生效时间及验证次数限制;验证成功后的及时清理
4. 验证短信验证码(图片验证码)时不检查用户名
5. 验证码为空或静态,开发程序时设置的万能密码,方便测试,有时候会忘记删除
6. 验证码可控,可自行选择验证码
不论是短信验证码还是图片验证码,后端的返回需要根据当前用户生成一个对应验证码的动态映射id,
不能是静态的。
7. 请求验证码时,返回请求直接将验证码返回不需要查看短信
8.短信验证服务接口滥用或恶意调用(需要建立监测规则,甚至长线分析)