防止恶意攻击短信验证码接口方法
2017-07-12 16:46
190 查看
防止恶意攻击短信验证码接口方法
1、手机号码限制:限制单个手机号码每天的最大发送次数。超过次数不能发送短信,可以考虑将手机号码加入黑名单,禁止1天。
2、短信发送时间间隔限制:限制同一个手机号码重复发送的时间间隔。通常设置为60-120秒,前端做倒计时限制,时间未到不能点击发送短信按钮,后台也做时间间隔限制,时间未到不能发送短信。
3、IP地址限制:限制每个IP地址每天的最大发送次数。防止通过同一个IP地址不同手机号码进行恶意攻击。超过次数不能发送短信,可以考虑将IP地址加入黑名单,禁止1天。可以考虑限制同一个IP地址每分钟的接口请求频率。
4、发送流程限制:将流程分成两个步骤。如:注册用户,将发送短信验证码和设置用户名密码分成两个步骤,第一步一个页面用来设置用户名和密码,用户设置用户名和密码发送到后台,获取到后台返回的第一步成功回执之后,进入第二步另一个页面发送手机短信验证码。
忘记密码,找回密码,第一步输入用户名,第二步发送短信验证码。
5、增加图片验证码:发送短信验证码时,要求输入图片验证码,每个图片验证码仅能使用1次,使用1次后,不管输入的图片验证码是否正确自动失效。如果输入错误更新图片验证码。图片验证码失效可以防止图片验证码识别软件尝试多次识别,可以考虑复杂的图片验证码或点触验证、滑动验证。
6、对发送者进行唯一性识别:防止修改参数伪造多个IP地址和手机号码进行恶意攻击,用Token作为唯一性识别标识,后台将Token注入到前端,前端可以获取到Token,请求发送短信验证码接口时带上Token,后台接收到Token进行验证,验证未通过不能发送短信。
7、发送短信验证码,短信验证码有效期内,发送相同的短信验证码。比如设置30分钟有效,短信发送时间间隔限制为60秒,第一次发送之后,60秒倒计时结束,点击按钮第二次发送,第二次发送的验证码和第一次相同。
8、短信验证码可以考虑数字和字母组合。
9、短信验证码输入错误次数限制,比如设置短信验证码输入错误3次后,这个短信验证码就不能使用了。防止猜测短信验证码恶意注册。
10、上行短信验证码:对于可疑用户要求其主动发短信。
短信运营商调研选型
1、手机号码限制:限制单个手机号码每天的最大发送次数。超过次数不能发送短信,可以考虑将手机号码加入黑名单,禁止1天。
2、短信发送时间间隔限制:限制同一个手机号码重复发送的时间间隔。通常设置为60-120秒,前端做倒计时限制,时间未到不能点击发送短信按钮,后台也做时间间隔限制,时间未到不能发送短信。
3、IP地址限制:限制每个IP地址每天的最大发送次数。防止通过同一个IP地址不同手机号码进行恶意攻击。超过次数不能发送短信,可以考虑将IP地址加入黑名单,禁止1天。可以考虑限制同一个IP地址每分钟的接口请求频率。
4、发送流程限制:将流程分成两个步骤。如:注册用户,将发送短信验证码和设置用户名密码分成两个步骤,第一步一个页面用来设置用户名和密码,用户设置用户名和密码发送到后台,获取到后台返回的第一步成功回执之后,进入第二步另一个页面发送手机短信验证码。
忘记密码,找回密码,第一步输入用户名,第二步发送短信验证码。
5、增加图片验证码:发送短信验证码时,要求输入图片验证码,每个图片验证码仅能使用1次,使用1次后,不管输入的图片验证码是否正确自动失效。如果输入错误更新图片验证码。图片验证码失效可以防止图片验证码识别软件尝试多次识别,可以考虑复杂的图片验证码或点触验证、滑动验证。
6、对发送者进行唯一性识别:防止修改参数伪造多个IP地址和手机号码进行恶意攻击,用Token作为唯一性识别标识,后台将Token注入到前端,前端可以获取到Token,请求发送短信验证码接口时带上Token,后台接收到Token进行验证,验证未通过不能发送短信。
7、发送短信验证码,短信验证码有效期内,发送相同的短信验证码。比如设置30分钟有效,短信发送时间间隔限制为60秒,第一次发送之后,60秒倒计时结束,点击按钮第二次发送,第二次发送的验证码和第一次相同。
8、短信验证码可以考虑数字和字母组合。
9、短信验证码输入错误次数限制,比如设置短信验证码输入错误3次后,这个短信验证码就不能使用了。防止猜测短信验证码恶意注册。
10、上行短信验证码:对于可疑用户要求其主动发短信。
下载《动态短信验证码安全防护方案》
短信运营商调研选型相关文章推荐
- Win7系统浏览器如何防止被恶意软件攻击?Win7系统浏览器防止被恶意软件攻击的设置方法
- 防止同网段ARP欺骗攻击的配置方法
- 一个自己写的真正判断文件格式,文件大小,而并不仅仅从扩展名来进行判断的上传方法,进一步加强防止软件或恶意的木马图片上传
- PHP中通过语义URL防止网站被攻击的方法分享
- asp.net防止恶意刷新或多次点击按钮的方法
- 防止mysql用户root密码弱口令的攻击方法
- 防止同网段ARP欺骗攻击的配置方法
- 考虑使用AntiXss.HtmlEncode方法来防止跨站点脚本攻击
- 防止入侵:My SQL各种攻击方法大全
- 网站防止恶意攻击相关知识总结
- 防止独立ip虚拟主机被恶意解析的方法 canonical标签 百度
- 一个自己写的真正判断文件格式,文件大小,而并不仅仅从扩展名来进行判断的上传方法,进一步加强防止软件或恶意的木马图片上传
- AcceptEx防止恶意攻击
- 防止恶意刷新或多次点击按钮的方法
- PHP中通过语义URL防止网站被攻击的方法分享
- 防止arp欺骗攻击的方法
- 防止博客文章被恶意转载的方法
- 如何防止网站注入攻击方法
- 在 Java 中防止 SQL 注入攻击(SQL Injection)的方法
- 与 Netcraft 携手为 GlobalSign 的客户提供先进的保护措施以防止网站遭受恶意入侵和钓鱼攻击