短信接口验证码是网站,App,微信端校验用户手机号码真实性的首要途径,在为用户提供便利的同时,手机短信验证功能也会被部分用户进行恶意使用。恶意频繁发送短信验证码,不仅会增加公司的运营成本,增加系统负载,也会给公司的形象造成极坏的影响(一般短信都会带公司的签名),所以必须要对这种行为进行防范,那么如何才能防止恶意频繁发送短信验证码?

一、易遭恶意使用的场景
  网络在线投票站(需要填写手机号码进行校验)

  用户用手机号注册页面(包含手机短信验证功能)

手机短信动态密码登录

通过手机号找回密码

  二、恶意频繁发送短信验证码的途径

  主要有两种途径,一种是人工频繁点击;一种是通过软件连续点击,就危害性来说,软件连续点击的危害要大的多。

  三、防止恶意频繁发送短信验证码的手段

  1,短信发送间隔设置——设置同一号码重复发送的时间间隔,一般设置为60-120秒
  2,IP限定——根据自己的业务特点,设置每个IP每天的最大发送量
  3,手机号码限定——根据业务特点,设置每个手机号码每天的最大发送量

上述三种方法不能有效防范通过软件来连续点击,因为软件可以模拟大批量ip,手机号来调用接口发送

4,流程限定——将手机短信验证和用户名密码设置分成两个步骤,用户在设置成功用户名密码后,下一步才进行手机短信验证,并且需要在获取第一步成功的回执之后才可进行校验。

5,绑定图型校验码——将图形校验码和手机验证码进行绑定,这样能比较有效的防止软件恶意注册。该方式主要用于web防范,对于app和微信一般是不用图形校验码的。同时图形校验码的校验必须放在服务端,不能简单的在页面里校验,防止恶意软件绕过图形校验码。

6,随机码校验,针对app和微信不适用图形校验码的问题,我们可以在用户请求发送前页面时候在页面中嵌入随机码,调用发送手机验证码时候,要把这个随机码发送到服务端做校验

7,限制终端类型。针对app和微信,我们可以限制必须是手机来请求才处理。

8, 除了技术手段,从商务角度考虑,我们需要和短信网关方约定每日发送短信上限,超过上限就不再发送,尽量减少经济损失。尽量找比较靠谱的短信网关,他们也会有监控,比如某个时段,某家公司的短信发送量异常,会及时通知接入方。如果短信网关不靠谱,大量发送短信对他们有经济利益,难免他们自己来捣鬼频繁发恶意发送短信。

防止恶意频繁发送短信验证码相关推荐

  1. 【django】用户注册时短信验证码校验、避免频繁发送短信验证码【17】

    注册时短信验证后端逻辑 class CheckSMScodeView(View):def get(self,request,phone):'''用户注册时短信验证码的校验功能:param reques ...

  2. 各大APP注册时发送短信验证码是怎么实现的?

    回答这个问题可以从多个角度来回答,比如商务角度和技术角度,为了快速清晰的让广大的读者了解这个过程,本文我们从商务角度来深入分析. 实现原理 现各大APP发送短信的服务一般是由第三方短信服务商提供的,他 ...

  3. TP6 腾讯云发送短信验证码配置详解

    一.发送注册验证码代码实现 参考腾讯云文档 https://cloud.tencent.com/document/product/382/56058 1.通过composer安装 composer r ...

  4. 阿里云短信服务 发送短信验证码 区分业务场景

    总结: 配置好阿里云短信服务API调用所需配置项信息 按业务场景自定义标识码,做到正确发送不同场景的短信验证码 有一点需要特别注意:写这篇文章时,偶然发现阿里云短信服务API,在遇到以数字0开头的随机 ...

  5. java + maven 实现发送短信验证码功能

    如何使用java + maven的项目环境发送短信验证码,本文使用的是榛子云短信 的接口. 1. 安装sdk 下载地址: http://smsow.zhenzikj.com/doc/sdk.html ...

  6. php榛子云短信验证,java + maven +榛子云短信 实现发送短信验证码功能

    如何使用java + maven的项目环境发送短信验证码,本文使用的是榛子云短信的接口. 下载下来是jar文件,需要将jar发布到本地的maven仓库中, 在cmd环境下输入: mvn install ...

  7. php实现短信找回密码,thinkphp5怎么调用云片接口实现发送短信验证码找回密码功能...

    thinkphp5怎么调用云片接口实现发送短信验证码找回密码功能 发布时间:2020-12-11 12:33:42 来源:亿速云 阅读:60 作者:小新 小编给大家分享一下thinkphp5怎么调用云 ...

  8. html5实现短信验证修改密码,thinkphp5如何调用云片接口实现发送短信验证码找回密码功能...

    下面由thinkphp框架教程栏目给大家介绍thinkphp5如何调用云片接口实现发送短信验证码找回密码功能,希望对需要的朋友有所帮助! 思路: 1.用户输入手机号,请求获取短信验证码. 2.thin ...

  9. JAVA实现利用第三方平台发送短信验证码

    前段时间自己做的一个小项目中,涉及到用短信验证码登录.注册的问题,之前没涉及过这一块,看了别人的博客其实也是似懂非懂的,现在就将自己做的利用第三方短信平台来发送验证码这个功能记下来. 本文以注册为例, ...

最新文章

  1. java clone 深复制_Java的clone():深复制与浅复制
  2. linux打开应用程序的命令,Windows环境下如何通过命令打开程序!
  3. IDEA使用GIT插件上传到码云git@OSC的方法
  4. Django中扩展Paginator实现分页
  5. 地理模块化施工的优点_模块化建筑适合学校的6个原因
  6. Virtual Machine Manager 2012 R2利用服务模板部署DC
  7. 设计灵感|想让海报设计更丰富?可以试试重复
  8. angularjs中的数据绑定
  9. [bzoj1026] [SCOI2009]windy数
  10. 年薪50万的程序员_985程序员年薪50万,看似风光,但当事人却想转行
  11. paip.regf文件读取与编辑
  12. Linux开机自动挂载Windows分区的两种方法
  13. java-net-php-python-23jspm在线学习设计计算机毕业设计程序
  14. 关于微信小程序自定义导航栏时,如何获取手机状态栏和导航栏高度
  15. 【vue】vue用了keep-alive生命周期只执行一次怎么办?
  16. 一路向北(电影《头文字D》主题曲)铃声 一路向北(电影《头文字...
  17. thinksns java_ThinkSNS+ 更新播报
  18. CSS text-align:justify作用
  19. 《云云众声》第102期:直接上干货 聊聊业界最火 HPC和云计算
  20. Latex安装教程 (TeX Live 和 TeXStudio)

热门文章

  1. 2021年,原来网工老杨和你一起干了这么多事儿
  2. php 自动签到源码,CHINAZ站长论坛自动签到--让你每天都第一个签到
  3. sql update left join
  4. Python爬虫(7)selenium3种弹窗定位后点击操作,解决点击登录被隐藏iframe无法点击的登陆问题
  5. 部分ABAQUS版本数据无法正常输出到Excel的一种解决办法
  6. 大数据24小时:“中译语通”完成3.34亿元C轮融资,姚劲波和左凌烨成猎豹移动独立董事
  7. 贪吃蛇c语言程序 简书,C语言/C++项目源码分享—贪吃蛇
  8. PR转场|29个PR2018手机竖屏短视频过渡PR转场模板素材
  9. nas?文件服务器的配置?,nas 文件服务器的配置
  10. android 双层边框,Android 简单实现圆形ImageView添加双层圆形边框