短信接口验证码是网站,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. Flutter 导包 以及体验
  2. 最低售价17999元,华为发布新一代折叠屏手机Mate X2,将首批升级HarmonyOS
  3. 甲小姐对话稚晖君:深度学习并非AI的终点
  4. 程序员,技术的“背锅侠”,盘点 2020 年面向监狱编程的那些事!
  5. POJ 1678 I Love this Game!
  6. sql server varchar最大长度_来自灵魂的拷问—知道什么是SQL执行计划吗?
  7. 朱毅麟:为什么用户接收机定位需要接收4颗导航卫星的信号?
  8. java中单例的几种写法
  9. iOS之LLVM编译流程和Clang插件开发集成
  10. 通过Web.config中的configSections配置自己系统的全局常量
  11. 为何MAC的JDK/JRE大小这么小?
  12. 优化设计-内点惩罚函数法-MATLAB编程
  13. 联想重装系统去掉保护_解决联想硬盘保护系统忘记密码问题,重新安装Windows10系统...
  14. linux pipe2函数,pipe()函数 Unix/Linux
  15. 关于 Google play 上架的缺失 64 位版本问题
  16. 入行数据分析要知道什么是独立性检验拟合优度检验
  17. 【区块链之技术进阶】Attention please!区块链技术的风险!
  18. 004.前端面试排雷之唱、跳、rap三步曲(一)唱篇
  19. 【前端小实战】页面文字搜索功能
  20. thinkphp5.1 || 给图片添加文字,图片水印

热门文章

  1. html 鼠标移动到图片时,对图片进行缩放
  2. 企业宣传片中的旁白配音如何制作?
  3. 【CVPR 2021主席出炉】谭铁牛、虞晶怡当选,未来4年6位华人主席
  4. inet_pton()和inet_ntop()函数详解
  5. PTA7-12 圆形体体积计算器 (20分)
  6. 如何用python获取通达信数据_Python读取通达信本地数据
  7. 2023最新【Zibll/子比主题】V7.1版本源码-开心版-Wordpress主题
  8. Read + Verify: Machine Reading Comprehension with Unanswerable Questions 论文阅读笔记
  9. 不使用中继台,数字对讲机真能实现100公里通话吗?
  10. PR软件入门教程 Adobe Premiere Pro 快速入门指南