短信验证——上行和下行

短信验证码

短信下行

短信下行的使用场景

短信验证码就是最常用的一个短信下行的例子,相对于传统的图片验证码,短信验证码最大的好处就是提升了账号的有效性,注册这一般都是使用自己的手机号吗。当然了,除此之外短信验证码还可以用于登陆,方便快捷。

短信下行的设计

短信下行的验证方式,较上行验证码简单很多,这里以短信验证码为例:

  1. 用户输入数据号。
  2. 点击获取验证码。
  3. 后端收到请求,根据手机号生成验证码,放入缓存,设置有效期,验证码以手机短信的形式发给用户。
  4. 用户收到验证码,进行校验。
  5. 请求后端进行校验。
  6. 服务器收到请求,根据手机号、验证码和服务器放入缓存中的进行匹配。

短信上行

短信上行的使用场景

短信服务在互联网中应用的场景很多,比较常见的就是验证码了,但下行短信往往受网络的影响比较大,
经常会出现用户收不到短信、短信延迟特别大的情况。为了解决这个问题,前辈们提出了一个改进的方案——上行验证
码,上行验证码出现延迟的情况也有,不过这个延迟在用户方(网络不稳定,用户方会显示正在发送。。。),只要
用户将短信放出去了就不会有延迟。

短信验证码的设计

这里使用短信上行注册为例说明下短信上行验证码:

  1. 获取用户手机号。
  2. 带上手机号请求后端。
  3. 后端生成验证码,将验证码和手机号映射存入缓存,并设置过期时间。
  4. 将生成的验证码和短信接收号码发送给用户(http形式)。
  5. 用户将验证码发送给指定的接收号码。
  6. 运营商收到用户的短信后,带上用户发送的内容和用户手机号,调用回调(短信运营商后台可以配置回调url)。
  7. 回调函数中去验证用户的发送内容是否ok,ok之后更新redis缓存中的标记,设置验证成功。
  8. 客户端轮询,检测用户对应的redis缓存标记是否ok,ok则继续执行操作。

总结

短信验证经常使用,大大小小的互联网公司都在用它,但我缺少了那种敏锐的嗅觉,一直没有意识到他具体是怎么实现的,自以为是的认为很简单。这次用到了,正好学习总结下。现在发现这个短信验证这个过程其实还挺有意思的。

2016-8-4 19:55:33

本文版权归作者iforever(luluyrt@163.com)所有,未经作者本人同意禁止任何形式的转载,转载文章之后必须在文章页面明显位置给出作者和原文连接,否则保留追究法律责任的权利。

http://www.cnblogs.com/iforever/p/5736142.html

 

时间: 2024-09-09 18:12:02

短信验证——上行和下行的相关文章

androidstudio导入项目工程库及短信验证实现(SMSSDK)

一.对应用实现短信验证及手机注册    mob.com . https://www.juhe.cn/juhesdk(聚合数据SDK).BMOB后端云 等官网可看其相关文档学习.   (本人这里是用mob.com官网的类库实现)   1.首先在Mob.com官网注册账号,开通需要的服务创建自己的app, 这样就可以得到相应的appkey和app Secret 这在后面的实现代码中的是需要的.    2.下载相应SDK文件如下: (这是短信验证码对应的SDK,下载完解压)     3.1在实现的代码

Thinkphp5使用阿里大于短信验证

现在各种平台登录验证很多时候会使用短信验证,快捷安全,有很多平台提供短信验证服务,相比较而言阿里大于价格比较便宜,快捷,所以在在千锋日常的PHP教学中多以此为例来说明短信验证的使用.下面我们在tp5中说明如何使用阿里大于进行短信验证. 一.首先到阿里大于平台上注册,创建应用 阿里大于地址为:https://www.alidayu.com/,点击免费入住,然后注册,注册完毕后,进入管理中心.如下图所示在左边导航栏里选择---应用管理,然后在右边内容窗口里选择创建应用.   在左侧导航栏里选择应用管

如何利用 LTE/4G 伪基站+GSM 中间人攻击攻破所有短信验证 ,纯干货!| 硬创公开课

   这次公开课请来的嘉宾对自己的简介是: 连续创业失败的创业导师: 伪天使投资人: 某非知名私立大学创办人兼校长: 业余时间在本校通信安全实验室打杂. 自从他在黑客大会上演讲<伪基站高级利用技术--彻底攻破短信验证码>后,黑产就盯上了这项技术.他们给能仿制这项攻击方法的人开价保底一个月 200 万元,外加分成. 这个攻击方法其实1秒钟可以血洗很多个银行账号.他说,保守估计一小时能带来 7000 万元的黑产产值.但是,他并不是为了钱.他的原话是:"短信验证码这种安全机制朽而不倒,我想

Android实现短信验证功能的代码_Android

在我们现在开发APP过程中,当用户注册时,短信验证是必不可少的操作,这里我们就是用一个免费的第三方短信验证SDK-MOP 首先看下效果图 获取AppKey和AppSecret 首先进入官网,登录(没有帐号的自己去注册一个).鼠标移动到右侧头像处,点击进入后台. 官网首页 选择SecurityCodeSDK. 选择短信SDK 进入后台页面后,点击添加按钮.填写应用名称(这个可以随便写).选择Android后,点击添加即可.   添加应用 添加成功后,就会进入以下界面,在这里就可以看到刚刚申请成功的

Laravel框架实现发送短信验证功能代码_php实例

Laravel框架简介: Laravel是一套简洁.优雅的PHP Web开发框架(PHP Web Framework).它可以让你从面条一样杂乱的代码中解脱出来:它可以帮你构建一个完美的网络APP,而且每行代码都可以简洁.富于表达力. Laravel短信验证思路详解 今天在做到用户注册和个人中心的安全管理时,我实现借助第三方短信平台在Laravel框架中进行手机验证的设置; 由于我做的是一个为客户提供医疗咨询和保健品网站,所以我们对客户个人隐私的保护显得尤为重要,因而在客户登录后进入个人中心前,

Android如何集成极光短信验证_Android

先借助Android studio工具新建一个新的空项目. 步骤一(获取appkey) 1.在极光官网平台上新建短信应用(根据要求包名和应用名称填写好) 2.获取得到Jpush_AppKey 步骤二 (导入第三方库和so文件) 1.用Android studio打开应用 2.切换应用状态Android为Project状态 3.在libs文件夹下把对应的jar文件拷入  然后as libraries 步骤三(初始化以及调用) 1.新建Application初始化 public class MyAp

验证码-大侠,mob短信验证求助,一点击这个页面APP就崩溃

问题描述 大侠,mob短信验证求助,一点击这个页面APP就崩溃 import android.app.Activity; import cn.smssdk.EventHandler; import cn.smssdk.SMSSDK; import android.content.Intent; import android.os.Bundle; import android.os.Handler; import android.os.Message; import android.text.Te

容联,云通讯 android短信验证

问题描述 容联,云通讯 android短信验证 容联,云通讯 android短信验证怎么实现 看了官方给的提示和dome还是搞不懂求告知

用户手机注册短信验证

问题描述 用户手机注册短信验证 在做用户注册是忘记密码的时候需要手机验证.... 比如在项目中用手机号注册,然后会收到一个验证信息,正确就成功否则失败!有没有哪位大牛做过,求指导一下,如何做....最好可以有个demo和说下用的哪个运营商稳定些!谢谢了