zoukankan      html  css  js  c++  java
  • 短信验证----上行和下行

       最近这几天登陆csdn,看到了关于用户注册及登陆手机短信验证的通知.看到文章下面都是一堆评论,由于小编在long long time ago绑定过手机号了,所以这次作为吃瓜群众,对此通知不做任何评价,只科普一下短信验证的上行和下行.下行短信:通过运营商发给你的短信,也就是你收到的一些服务信息.上行短信是指你给运行商的信息.用六个字描述就是"上:你发,下:你收"

    下行:

    设计:

    1.用户输入手机号

    2.点击获取验证码

    3.后端收到请求,根据手机号生成验证码,将验证码存到缓存或者数据库中,将验证码以短信的形式发给用户.

    4.用户收到短信,进行校验

    5.请求后端校验

    6.服务器收到请求,根据手机号,验证码和服务器放入缓存中的进行匹配.

    适用场景:

    输入手机号,运营商就会给你输入的手机号发送一条包含验证码的信息.这样的话,从用户体验度上有很大的好处,我不需要关心运营商的电话号,只需要得到我需要的信息即可.


    上行:

    设计:

    1.获取用户手机号

    2.带上手机号请求后端

    3.后端生成验证码,将验证码和手机号映射存入缓存,并设置过期时间.

    4.将生成的验证码和短信接收号码发送给用户(http形式)

    5.用户将验证码发送给指定的接收号码

    6.运行商收到用户的短信后,带上用户的内容和用户手机号,调用回调(短信运行商后台可以配置回调url)

    7.回调函数中取验证用户的发送内容是否OK,OK之后更新redis缓存中的标记,设置验证成功.

    8.客户端轮询,检测用户对应的redis缓存标记是否OK,OK则继续执行操作.

    应用场景:

       参考csdn的注册或者是手机验证的需求,在安全方面,下行没有上行安全,怎么理解呢?在我看来,上行做的事情 和现实生活中的事情:"如何证明我是我",上行将这个问题完美的诠释了.上行以http的形式将"验证码"即"证明"显示到页面上,你将"证明"发送给运行商.运行商核实一下"证明"是否正确,如果正确,表名"你是你".




       这种方法在一定程度上更加的安全,但是小编认为,把发送短信给运行商的工作交给用户来做的话,体验度非常的不好.找到一种既安全体验度有好的才是王道!


  • 相关阅读:
    curl发送post请求,统计响应时间
    云集微店、拼多多等顽疾凸显,社交电商如何突围?
    App音频内录 录音
    nginx支持android、ios、微信扫一扫
    hadoop 2.7.1安装和配置
    Centos7上HBase的安装和配置
    HBase各版本对Hadoop版本的支持情况
    40个Java多线程问题总结
    JAVA多线程之volatile 与 synchronized 的比较
    深入解析spring中用到的九种设计模式
  • 原文地址:https://www.cnblogs.com/chenxiaochan/p/7253405.html
Copyright © 2011-2022 走看看