网站后台怎么设置短信验证码不弹出显示短信接口

我的做法就是手机号请求的时候先验证手机号是否合法(根据场景决定)然后随机生成一个6位短信验证码不弹出显示,生成之后调用短信接口发送同时保存在redis中(设置过期时间)。然后另外一个接口读redis对比就行了

短信短信验证码不弹出显示作为偅要的身份验证工具因其操作简便、安全性高、时效性强等优点已被开发人员广泛使用。但因其获取便利、限制较少容易被不法分子利鼡进行短信轰炸恶意刷掉大量短信费用,给公司或个人造成大量的金钱损失造成这种情况原因主要是在产品实际设计过程中,有些产品人员因为对技术实现不太了解防范意识薄弱,简单或直接忽略对短信短信验证码不弹出显示进行限制这才造成短信接口恶意被不法汾子利用。

在介绍防刷策略前我们需要了解下常见的刷短信验证的行为

1.以攻击手机号为目的刷短信短信验证码不弹出显示

这类攻击目标主要是攻击者借助web网站短信接口对目标手机号进行短信轰炸。攻击者会先收集互联网上多个未经防护的网站短信接口设定要攻击的手机號码通过模拟用户,循环向后台发送短信短信验证码不弹出显示请求达到攻击手机号的目的。对于这类攻击通过一般短信验证码不弹出顯示设置即可达到防护目的

2.以恶意刷取目标网站短信费用为目的的攻击

这类攻击主要目的是刷掉目标网站的短信费用,在第一种基础上攻击者会不停变换各种接口参数如手机号、IP(采用高匿代理)等去请求后台发送短信短信验证码不弹出显示进行恶意刷短信,后台根本無力辨别用户真伪攻击目标明确,难以防护因其变换不同IP、手机号,一些简单措施基本失效产品设计人员在前期产品设计时尤其需偠注意这类攻击。

下面是针对攻击者做出的一些应对措施

1.前端增加图文短信验证码不弹出显示

在获取短信短信验证码不弹出显示前增加圖文短信验证码不弹出显示是较为常用的方法。攻击者一般是采用自动化攻击增加图文短信验证码不弹出显示后,攻击者要对验证进行識别验证成功后才能进行模拟用户发送请求这一步需要在页面中进行,无法采用自动化攻击第一种攻击基本上失效,同时会增加第二種的攻击成本(有可能采用人工打码方式进行验证)选择短信验证码不弹出显示时既要考虑用户操作过程的流畅度又应该考虑到安全度。

下图是几种常见的图文短信验证码不弹出显示可以结合自身平台特点进行选择,

2.限制单个手机号每日接收短信次数和时间间隔

对单个掱机号进行日接收次数的限制可以防止单个手机号无限制刷短信,同时设置时间间隔可以有效防止人工刷票。短信接收次数可以根据岼台特点进行限制一般日接受短信验证码不弹出显示次数为10次左右;同一号码发送时间间隔通常为60秒,前后台应保持一致避免出现只湔端做倒计时限制,后台未做限制这种低级错误

对单IP最大发送量进行限制,可以有效防止单一IP下多手机号被刷的问题最大发送量限制昰防止恶意攻击者同IP下不同手机号进行刷短信短信验证码不弹出显示行为。根据平台实际情况设计一个短信最大发送量的阀值超过阀值將不予返回短信。

4.对手机号码逻辑检测

检测输入手机号码的有效性屏蔽无效和非法的手机号码。

5.对注册流程进行限定

一般来讲常被攻击嘚地方是注册页面一般是从两方面进行触发流程的限定。

  • 第一种可以从前端写入指令,只允许在官网主页跳转入注册页面;
  • 第二种方法是对注册流程进行分步先进行账户密码设置,设置成功后才可以再进行下一步的短信验证

因为增加前置条件,增加攻击难度两种方法都是能有效防止自动化攻击需要注意的是两种方法对用户体验或多或少的影响,产品经理需要结合自身平台特点选择

6.对发送者进行唯一性识别

为了防止第二种恶意攻击者通过修改传向服务器各项参数,造成多IP多手机号刷短信短信验证码不弹出显示的行为所以后台应對前台传过来的参数进行验证。方法一般是用token作为唯一性识别验证后台写一个算法将token注入到前端,然后前端可以通过相应的规则获取到token在发送短信验证请求接口数据时带上token,在后端对token进行验证验证通过才能正常将短信发送。

设置时间内容短信发送量达到设置的阈值时系统将会发送告警通知,收到通知及时采取措施

在产品设计过程中一般采用前四种方式组合使用,基本可以防止大部分恶意刷短信短信验证码不弹出显示的行为产品人员要在防护与用户体验之间寻找平衡,结合自身产品特点选择要未雨绸缪不应到短信被刷才进行防護。

我要回帖

更多关于 短信验证码不弹出显示 的文章

 

随机推荐