短信验证——上行和下行

短信验证码

短信下行

短信下行的使用场景

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

短信下行的设计

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

  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-08-25 11:09:19

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

ASP.NET MVC+Bootstrap 实现短信验证

短信验证大家都已经很熟悉了,基本上每天都在接触手机短信的验证码,比如某宝,某东购物,网站注册,网上银行等等,都要验证我们的手机号码真实性.这样做有什么好处呢. 以前咱们在做网站的时候,为了提高用户注册的质量,防止用户恶意注册,都会设置一些小阻碍,如网页验证码.邮件认证等等.但是道高一尺魔高一丈,很快网站的这些设置都被一些网络黑客利用注册机逐一攻破,这些功能也就随之变成了摆设. 但是魔高一丈道高两丈,随着移动设备的普及,短信验证的功能横空出世.他的出现轻松的排除了传统网站验证码的弊端,还提升了网站

Android studio 2.1 集成第三方短信验证类库

新手弄第三方类库也许会很纳闷,有时弄几天都不行.那就让我带大家10分钟做一个简单的短信验证吧! 1.首先上Mob官网注册账号:http://www.mob.com/#/ 2.下载SMSSDK类库包:http://www.mob.com/#/downloadDetail/SMS/android 3.进入Mob账号后台 4.添加一个android应用 5.我们在android studio创建一个项目,在app项目下添加下面的4个包到libs下: 6.配置build文件 7.在AndroidMani

手机短信验证对用户有什么样的威胁呢?

本以为有了手机短信验证应该很安全了,没想到银行卡里的钱还是能被刷走,关键是一条短信都没收到.到底是怎么回事? 如今手机绑定最主要的表现方式就是通过短信验证码来证明自己的身份,验证的方式极其简单便捷,当人们在享受这份简单便捷的验证方式时,不由也为短信验证码来验证身份信息的方式产生了不信任感. 如果说安全的话,没有什么是真正的安全的,短信验证码也不是最安全的验证身份的方法.通过短信验证身份之所以能够在几年内疯长,无外乎是通过短信进行二次验证时,是成本最低,最简单便捷的验证方式,另一点是因为手机普及的

完整的Android手机短信验证源码

短信验证功能我分两个模块来说,短信验证码的后台和代码实现短信验证码的功能. 一.短信验证码的后台      1.注册Mob账号:http://www.mob.com/#/login 2.注册成功之后,点击“头像”,进入“产品中心”,进入如下界面点击第二项添加应用.添加完应用几秒后再次进入第二项. 3.在第二步之后我们会得到两个重要的参数App key和App Secret,用于客户端和服务端的链接,创建好应用之后还会得到两个菜单选项“验证记录”和“短信设置”,“验证记录”是说我们进行短信验证之后

安卓----短信验证(借用第三方平台)

准备工作: ·安卓开发环境:基于eclipse的(studio也可以) ·SDK(短信验证的,mob.com的官网上下载),如图: 下载到本地解压就可以了 解压之后的目录文件 现在正式开始代码的实现部分: ·1.新建工程:file->new ->Android Application Project  给自己的工程命名,包名,设置图标等等 ·2.进入工程,首先会看到activity_main.xml和MainActivity.java.我们先到.xml布局文件把界面稍微设置一下, 1 <

[Android]手机短信验证功能

介绍 短信验证功能大家都很熟悉了.在很多地方都能见到,注册新用户或者短息验证支付等.短信验证利用短信验证码来注册会员,大大降低了非法注册,很大程度上提高了用户账户的安全性. 目前市面上已经有了很多提供短信验证的服务商,有收费的,也有免费的.如果是个人的开发者,用免费的是最划算的了!下面我就介绍一个免费的短信验证平台---Mob.com Mob平台提供的短信验证功能可以实现快速的验证和匹配通讯录好友功能,并且能为每个app每天提供10000条免费短信验证.很多开发者都想在自己的app中集成短信验证

php实现短信验证

PHP实现短信验证的整体思路: 一.申请短信api ->申请网址https://s1.chanyoo.cn/login?url=%2f 二.编写核心代码(thinkPHP5) 示例: <?php//命名空间namespace app\index\controller; use think\controller;use app\index\module; class Index extends controller{ public function Sms(){ //接受手机号 访问路由上ind

佰新网络科技广州分公司手机短信验证流程设计

1 验证是验证什么?为什么要验证 验证所存在的需求场景,就类似于人之间打招呼的场景.首先打招呼前,需要让机器明白即将作出一系列指令的主 体,即要打招呼的是"人"而不是"机器",所以其验证 目的之一是:对操作者是否为人的身份验证. 当机器知道了这就是要打招呼的对象后,为了满足整个行 为的顺利完成,得需要让机器知道"你"是否有打招呼的 意愿,即验证目的之二是:对操作者是否本人意愿操作的 验证.所有的验证实质都是在满足以上的目的. 02 流程可视化设计

如何实现php手机短信验证功能

http://www.qdexun.cn/jsp/news/shownews.do?method=GetqtnewsdetailAction&id=1677 下载php源代码 现在网站在建设网站时为了保证用户信息的真实性,往往会选择发短信给用户手机发验证码信息,只有通过验证的用户才可以注册,这样保证了用户的联系信息资料的100%的准确性 .今天笔者就跟大家分享一下如何实现php手机短信验证功能,希望对大家有所帮助. 第一.实现php手机短信验证功能的基本思路 1.要找到短信服务提供商,接入短信服