zoukankan      html  css  js  c++  java
  • 发送验证码思路

    验证码,一分钟内不要重复发送。
    发送的验证码时效性为5分钟。

    将数据存入Redis中。
    存两个,一个是时间,一个是验证码。

    $sms_code_key = 'women:code:'.$_POST['telphone']; // 5分钟有效
    $sms_time_key = 'women:time:'.$_POST['telphone']; // 1分钟之内不可发送
    

    判断redis中是否已经存在时间key,存在则提示请一分钟之后再试。

    $time_key_data = $redis->get($sms_time_key);
    if ($time_key_data) {
        $this->json->setErr(10004, '已发送,请1分钟之后再试');
        $this->json->Send();
    }
    

    如果没有,则发送验证码,并将code存入redis。

    // 发送
    vendor('Func.Sms');
    $code = $this->code();
    $status = Sms::send($code, $_POST['telphone']);
    
    if (!$status) {
        $this->json->setErr(10005, '发送验证码失败');
        $this->json->Send();
    } else {
        // 存入redis,时间,code都存
        $redis->set($sms_code_key,$code,300); // 5分钟有效
        $redis->set($sms_time_key,date('Y-m-d H:i:s'),60); // 1分钟之内不可发送
    
        $this->json->setErr(0, '发送成功');
        $this->json->Send();
    }
    

    大致就是这样的思路,Redis很好用。

  • 相关阅读:
    Java职业生涯规划
    Java类加载器总结
    Java字节流与字符流的区别
    Java堆和栈的区别
    详解Java类的生命周期
    Java编程常见问题汇总
    Java总结输入流输出流
    Java NIO:浅析I/O模型
    perl 处理文件路径的一些模块
    Delphi第三方控件安装卸载指南
  • 原文地址:https://www.cnblogs.com/jiqing9006/p/10457334.html
Copyright © 2011-2022 走看看