php 给app写短信验证码 使用memcache缓存验证码

废话不多说  直接上代码 直接使用session 储存短信验证码,app  那边一直说获取不到 注册的时候一直提示空  后面想想还是用缓存吧 上代码:

//发送验证码方法
public function sendSMSCodeOp(){

        require_once(BASE_ROOT_PATH.DS.‘api/framework/function/sms.php‘);
        require_once(BASE_ROOT_PATH.DS.‘api/framework/function/common.php‘);
        $sms = new sms();
        $_code = rand(100000, 999999);
        $_mobile = $_POST[‘mobile‘];
        $_content = "【百城网】欢迎注册百城网,您的验证码为" . $_code;
        if(empty($_mobile)){
            $this->_message(CODE_ERROR,‘手机号码不能空‘);
        }else{
            if(!isMobile($_mobile)){
                $this->_message(CODE_ERROR,‘手机号码格式有误‘);
            }else{
                if($sms->sendSMS($_content, $_mobile)){
                   // $_SESSION[‘SMS_Code‘] = $_code;
                    //$_SESSION[‘mobile‘] = $_mobile;
                     //这一步写入缓存,由于服务器没有安装memcache,就用框架带的缓存机制来存储
                    $cache = Cache::getInstance(C(‘cache.type‘));
                    $code_info = array();
                    $code_info[‘last_access‘] = time();
                    $code_info[‘sms_mobile‘] =  $_mobile;
                    $code_info[‘sms_mobile_code‘] = $_code;
                    $cache->set($_mobile,$code_info);
                    $this->_printJson(CODE_SUCCESS,array("success"=>1),‘短信验证码发送成功‘);
                }else{
                    $this->_message(CODE_ERROR,‘验证码发送失败‘);
                }
            }

        }

    }
    /**
     * @param $mobile
     * @param $mobile_code
     * 验证验证码是否正确
     */
    private  function checkCode($mobile,$mobile_code){
    $obj_cache = Cache::getInstance(C(‘cache.type‘));
    $obj = $obj_cache->get($mobile);

    if(empty($obj)){
        return array(‘error‘ => ‘您还未发送验证码‘);
    }else{
        if(!isset($obj[‘last_access‘])||(time()-$obj[‘last_access‘])>180*1000){
            return array(‘error‘ => ‘验证码已经失效‘);
        }else{
            if($mobile_code==$obj[‘sms_mobile_code‘] && $mobile==$obj[‘sms_mobile‘] ){

                return array("success"=>‘验证通过‘);
            }else{
                return array(‘error‘ => ‘验证码错误‘);
            }
        }
    }
}
				
时间: 2024-12-15 01:49:57

php 给app写短信验证码 使用memcache缓存验证码的相关文章

Zabbix告警集成 实时接收Zabbix告警,提供微信、移动APP、短信邮件提醒。

1.下载agent软件包 请在Zabbix服务器中,使用root或zabbix用户下载软件.下载agent 2.添加应用 创建Zabbix应用,并获取appkey,见下图04b9832b-14b4-4c61-343d-5926ff8af672 3.安装Agent 将agent更新到zabbix的外部告警脚本目录alertscripts,如果是源码安装的请自行更改目录. tar xvf alert-agent-4.0.1-RC2.tar.gz cp -R alert-agent /usr/lib/

【源码分享】短信如何实现ECmall_V2.3验证码功能

对接短信的时候发现一家短信公司,有些不错的短信验证码的插件,对接起来挺方便的,有需求的可以看一下.http://www.ihuyi.com/ 插件说明本插件系互亿无线针对ECmall_V2.3短信插件开发,插件内的所有文件均为对原文件的修改,如果你的系统经过二次开发,安装本插件之前,请仔细核对修改. 功能介绍1.手机号短信验证注册2.找回密码3.买家确认收货4.买家下订单5.卖家发货 安装步骤1.下载ECMALL_V2.3互亿无线插件后解压相应目录中:2.打开ECMALL_V2.3系统管理后台-

iOS开发——App集成短信验证码

无论是在网页上还是在客户端,每当我们进行注册的时候,往往会进行短信或者邮箱验证,这是一种不错的安全机制.对于用户体验来说,如果是在PC的网页上,用邮箱或者短信验证都比较方便:如果是在手机上,那么使用短信验证就比较方便.这篇博客我们将会在iOS应用中实现短信验证码的功能.实例demo我已经集成到  https://github.com/chenyufeng1991/iOS-Oncenote . 这里我将会使用mob 的短信验证码 SDK来开发.官网地址为: http://www.mob.com/#

19.最省钱的app发短信方法

在创业团队中,一个重要的原则是能省就省,该花就花,把银子用在刀刃上. 现在的app,为了获取用户的社交关系,需要用户的手机号注册.用手机号注册就涉及到一个发送短信验证码的问题,那怎么才能在短信服务上投入最少的成本获得最大的收益? 1.    选择什么短信平台? 短信服务主要考虑下面2个方面: 1.发短信不便宜啊,发送一条短信的价格在5分钱-8分钱之间. 2.考虑短信的到达率和延时. 之前我的手机经常收到各种乱七八糟的短信,例如,发票啊,个人贷款等.在2013年年底,3大运营商终于整顿短信,那时一

Android实战简易教程-第三十九枪(第三方短信验证平台Mob和验证码自动填入功能结合实例)

用户注册或者找回密码时一般会用到短信验证功能,这里我们使用第三方的短信平台进行验证实例. 我们用到第三方短信验证平台是Mob,地址为:http://mob.com/ 一.注册用户.获取SDK 大家可以自行注册,得到APPKEY和APPSECRET,然后下载SDK,包的导入方式如截图: 二.主要代码 SMSSendForRegisterActivity.java:(获取验证码页) package com.qiandaobao.activity; import java.util.regex.Mat

19.最经济app发短信的方法

在创业团队.一个重要的原则是能省就省,该花的花,明智地使用金钱. 今的app,为了获取用户的社交关系.须要用户的手机号注冊. 用手机号注冊就涉及到一个发送短信验证码的问题,那怎么才干在短信服务上投入最少的成本获得最大的收益? 1.    选择什么短信平台? 短信服务主要考虑以下2个方面: 1.发短信不廉价啊,发送一条短信的价格在5分钱-8分钱之间. 2.考虑短信的到达率和延时. 之前我的手机常常收到各种乱七八糟的短信.比如,发票啊.个人贷款等.在2013年年底,3大运营商最终整顿短信,那时一大批

fogcloud app的短信服务配置

以上四项需要到容联云进行配置.http://www.yuntongxun.com/ 大概步骤: 1.进入容联云网站进行注册登录. 2.完善信息,主要进行企业认证.(需审核) 3.充值500 4.创建应用并上线. 5.创建短信模版 (需审核) 以上5步操作成功,就请到相应的界面找到信息. 第一个app ID

potato苹果下载 potato一直加载 链接不上 potato安卓短信出错 收不到验证码

任何potato下载安装 登陆 有关问题 都可以 加qq;237086300 解决 potato苹果商店 下载了 都是假的 搜不到 正版土豆 怎么下载呢 potato安卓手机 安装上 一直加载 上不去 还有就是 提示短信出错 无法接收验证码 原文地址:https://blog.51cto.com/14688071/2470268

iOS app发送短信

1.导入MessageUI.framework 2.ViewController中 #import <MessageUI/MessageUI.h> 创建一个按钮触发发短信的方法 UIButton *btn =[UIButton buttonWithType:UIButtonTypeCustom]; btn.frame = CGRectMake(150, 150, 50, 50); [self.view addSubview:btn]; [btn addTarget:self action:@s