java面试(1)如何防止恶意攻击短信验证码接口

1 自研技术

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、上行短信验证码:对于可疑用户要求其主动发短信。

2 自研验证码被破解怎么办?

1 腾讯防水墙
2 网易滑动拼图验证码
3 顶象滑动拼图验证码
4 极验滑动拼图验证码

3 所有图形验证码都被破解怎么办?

谷歌已经宣布退出图形验证码服务,为何国内各种奇葩验证方式层出不穷,安全性到底如何?
《腾讯防水墙滑动拼图验证码》
《百度旋转图片验证码》
《网易易盾滑动拼图验证码》
《顶象区域面积点选验证码》
《顶象滑动拼图验证码》
【验证码识别】极验滑动拼图验证码

新新科技研发的下一代隐藏式验证安全产品
选用新昕科技研发的企业短信防火墙,理由 :
1 应用AI立体防御技术,无需图形验证,彻底解决“安全”与“用户体验”的矛盾,互联网产品专注用户体验,无需为安全让步。
2 丰富可视化图表,防御拦截数据尽收眼底,实时查看当日数据详情与近期风险趋势。
3 SAAS极速接入,本地部署运行,毫秒级响应。交易风控引擎浓缩10M安装包,极速采集基础数据,匹配多维度风险特征。避免“云模式”网络延时问题。
在这里插入图片描述

  • 13
    点赞
  • 65
    收藏
    觉得还不错? 一键收藏
  • 10
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 10
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值