生成短信验证码的方法
来源:互联网 发布:知乎每周精选要qq密码 编辑:程序博客网 时间:2024/06/05 17:36
这里的博客停止维护了 ,大家访问我的新博客: www.0352bt.com
这里的博客停止维护了 ,大家访问我的新博客: www.0352bt.com
这里的博客停止维护了 ,大家访问我的新博客: www.0352bt.com
$expire_time = 20; //验证码过期时间/秒
生成短信验证码的方法,可以设置不同的长度
/*生成指定位数的验证码,用于短信,校验之类*/function verify_code($length = 4) {return str_pad(mt_rand(0, pow(10, $length) - 1), $length, '0', STR_PAD_LEFT);}
简单又实用,直接调用即可
存入session并且加上时间验证:
1、设置过期时长:
$expire_time = 20; //验证码过期时间/秒
2、添加短信验证到session,在发送时添加
$phone = $_POST['phone']; $code = verify_code(4); $_SESSION['verify_code'] = $code; $_SESSION['verify_time'] = time(); $result = SendTemplateSMS($phone,array($code,10),1);
3、验证时先验证时间
if(time() - $_SESSION['verify_time'] > $expire_time) { //验证码过期 echo "验证码已经过期 请重新请求"; unset($_SESSION['verify_code']); unset($_SESSION['verify_time']); return false; }
if($verify_code == $_SESSION['verify_code']){ echo "验证成功"; } else { echo "验证失败"; }
备注:使用的是容联云通信,比较好用,自己改造了一下发送方式,可以当成接口来使用
发送方法改造如下:
其中注释的部分是原来的代码
function sendTemplateSMS($to,$datas,$tempId){ $msg = array(); // 初始化REST SDK global $accountSid,$accountToken,$appId,$serverIP,$serverPort,$softVersion; $rest = new REST($serverIP,$serverPort,$softVersion); $rest->setAccount($accountSid,$accountToken); $rest->setAppId($appId); // 发送模板短信 //echo "Sending TemplateSMS to $to <br/>"; $result = $rest->sendTemplateSMS($to,$datas,$tempId); if($result == NULL ) { //echo "result error!"; $msg['code'] = 1; $msg['msg'] = 'result error!'; break; } if($result->statusCode!=0) { //echo "error code :" . $result->statusCode . "<br>"; //echo "error msg :" . $result->statusMsg . "<br>"; $msg['code'] = 2; $msg['msg'] = 'error code :' . $result->statusCode . ' And ' . 'error msg : ' . $result->statusMsg; //TODO 添加错误处理逻辑 }else{ //echo "Sendind TemplateSMS success!<br/>"; $msg['code'] = '200'; $msg['msg'] = 'Sendind TemplateSMS success!'; // 获取返回信息 //$smsmessage = $result->TemplateSMS; //echo "dateCreated:".$smsmessage->dateCreated."<br/>"; //echo "smsMessageSid:".$smsmessage->smsMessageSid."<br/>"; //TODO 添加成功处理逻辑 } echo json_encode($msg);}
0 0
- 生成短信验证码的方法
- 号码绕过短信验证码的方法
- php生成短信验证码
- java生成随机短信验证码的工具类
- 生成验证码的方法
- 生成验证码的方法
- 发送短信验证码方法
- android 短信验证码自动填写的二种方法
- java生成短信验证码 字母加数字的验证码
- Java生成六位验证码(发短信验证)
- Java生成六位验证码(发短信验证)
- 验证码mob集成&本地验证生成&短信截获
- 生成验证码方法--
- 验证码生成方法
- 短信验证码的实现
- 阿里的短信验证码
- Jsp页面验证码的生成方法
- jsp生成页面验证码的方法
- HDU1171-Big Event in HDU
- LibGdx文档译读(五)Graphics接口
- hdu 5877 Weak Pair(dfs+树状数组)
- Hibernate的HQL中in参数设置
- Android Studio常用快捷键
- 生成短信验证码的方法
- 【计算机视觉】<前景检测>非参数背景模型介绍<二>
- 《java多线程编程核心技术》读书笔记3:线程间的通信
- 在MyEclipse10上远程连接虚拟机上的Hive,报错:Could not establish connection to 192.168.1.100:10000/log: java.net.Co
- seekg()与tellg()相关文件操作
- c语言之内存管理
- nyoj47 过河问题
- 程序员发展规划
- hibernate自动建表设定字段类型为数据库中为timestamp类型