Thinkphp5使用阿里大于短信验证
来源:互联网 发布:mysql 主键是索引吗 编辑:程序博客网 时间:2024/06/01 09:16
现在各种平台登录验证很多时候会使用短信验证,快捷安全,有很多平台提供短信验证服务,相比较而言阿里大于价格比较便宜,快捷,所以在在千锋日常的php教学中多以此为例来说明短信验证的使用。下面我们在tp5中说明如何使用阿里大于进行短信验证。
一、首先到阿里大于平台上注册,创建应用
阿里大于地址为:https://www.alidayu.com/,点击免费入住,然后注册,注册完毕后,进入管理中心。如下图所示在左边导航栏里选择---应用管理,然后在右边内容窗口里选择创建应用。
在左侧导航栏里选择应用管理----应用列表。然后在右边窗口中选择创建应用
创建完毕后,可以获得应用的appkey和appsecret,这两个东东很重要
然后在左侧的导航栏李选择SDK下载,在右边窗口里选择php版。
下载完成后解压,得到如下文件:
在所给的这些文件里,只要以下文件就够了:
我们把这些文件放到tp5的extend目录里,建立一个文件夹alidayu,把所有文件放到该文件夹下。
然后回到阿里大于,在左侧导航栏里选择配置管理----验证码,然后在右侧窗口里可以看到两个选择项:配置短信签名 和 配置短信模板
1 首先配置短信签名,这个是必须的,界面如下,根据自己的需要选择,个人使用选择第一个就行。
2.配置短信模板
选择配置短信模板,然后添加模板:
这里,模板内容是重点,比如说验证码短信一般会有一个随机数,这个随机数如何表示内,就用${number}这种方式表示,其中${number}就是php中对应的变量,用几个就定义几个,{}里面是变量的名字。配置完成后如下图所示。
重点是模板ID,这个在程序代码中要用。
二、在tp5中引用
1.项目的目录结构
要想在项目中引用extend下的alidayu下面的几个类,必须给类添加名空间。
2、给下载的文件添加名空间。
在tp5中加载类使用的时自动加载,是根据名空间加载的,所以,下载的几个类文件,必须定义名空间才能引用,名空间必须和目录一致。以AlibabaAliqinFcSmsNumSendRequest.php为例说明:
3.在控制器里引用验证码类
如果,编译出现找不到TopClient类的提示,可以在application下config.php里修改:
添加一个名空间和文件夹的对照,则一切ok。
4. 编写短信验证码方法
三、html文件
<!DOCTYPE html><html><head> <title>用户注册</title> <style type="text/css"> *{margin: 0px;padding: 0px;} .content{width: 360px;background: pink;} .title{text-align: center;font-size: 18px;width:100%;height: 30px;line-height: 30px;} .register{height: 30px;line-height: 30px;width: 60px;text-align: center;float: right;} a{text-decoration: none;} .middle{width: 360px;} .headimage{width: 100%;} .headimage p{text-align: center;} .middle input{display: block;width: 98%;margin: 0px auto;height: 30px;} .middle input[type='submit']{margin-top: 20px;} .middle form .code{display: inline-block;width: 75%;height: 30px;} .middle form button{width: 22%;height: 32px;} </style> <script type="text/javascript" src='/static/index/js/jquery-1.11.3.min.js'></script></head><body> <div class='content'> <div class='top'> <div class='title'>注册</div> </div> <div class='middle'> <div class='headimage'> <img src=""> <p>书非借不能读</p> </div> <form action='/index/user/doLogin' method='post'> <input type="text" name="phone" placeholder="手机号" id='mobile'> <input type="password" name="password" placeholder="密码"> <input type="text" name="code" class='code' placeholder="验证码"><button id='sendmsg'>获取验证码</button> <input type="submit" value='注册'> </form> </div> </div></body><script type="text/javascript"> //验证手机号 $("#mobile").blur(function(){ var value = $(this).val(); console.log(value,typeof value); if ( 0 == value.lenght || "" == value) { //alert("手机号不能为空!") $(this).focus(); } else { $.post('/index/user/validPhone',{phone:value},function(data){ if (data) { alert("手机号重复!"); } }); } }); var InterValObj; //timer变量,控制时间 var count = 60; //间隔函数,1秒执行 var curCount;//当前剩余秒数 var code = ""; //验证码 var codeLength = 6;//验证码长度 $('#sendmsg').click(function () { var phone = $("#mobile").val(); console.log(phone); $.ajax({ type: "POST", url: "/index/user/sendSMS", data: "mobile="+$("#mobile").val() , success: function (data) { console.log(data); //data.result && data.result.success if(data){ curCount = count; //设置button效果,开始计时 $("#sendmsg").css("background-color", "LightSkyBlue"); $("#sendmsg").attr("disabled", "true"); $("#sendmsg").html("获取" + curCount + "秒"); InterValObj = window.setInterval(SetRemainTime, 1000); //启动计时器,1秒执行一次 // alert("验证码发送成功,请查收!"); } }, dataType: 'json' }); return false; }) function SetRemainTime() { if (curCount == 0) { window.clearInterval(InterValObj);//停止计时器 $("#sendmsg").removeAttr("disabled");//启用按钮 $("#sendmsg").css("background-color", ""); $("#sendmsg").html("重发验证码"); code = ""; //清除验证码。如果不清除,过时间后,输入收到的验证码依然有效 } else { curCount--; $("#sendmsg").html("获取" + curCount + "秒"); } }</script></script></html>
- Thinkphp5使用阿里大于短信验证
- Thinkphp5使用阿里大于短信验证
- 使用阿里大于发送短信验证码
- 阿里大于短信验证码简单使用
- 阿里大于短信验证码简单使用
- 阿里大于短信使用
- php使用阿里大于短信平台发送验证码记录
- Laravel5中使用阿里大于(鱼)发送短信验证码
- 使用阿里大于发送短信
- 阿里大于短信平台使用
- 利用阿里大于开发短信验证码
- 阿里大于手机注册短信验证码
- 利用阿里大于进行短信验证
- 阿里大于短信验证码配置
- 阿里大于短信验证码简单实现
- php阿里大于短信验证码发送
- Java使用阿里大于发送短信通知和短信验证码
- Java使用阿里大于发送短信通知和短信验证码
- 2017年第0届浙江工业大学之江学院程序设计竞赛决赛—F
- redis小结
- 关于Java中交换数组中的两个元素的一个错误笔记
- 数据结构(栈--两个队列实现)
- C语言函数strtok
- Thinkphp5使用阿里大于短信验证
- EEE功能及限制
- 树莓派上电自启动某执行程序的实现
- C++11多线程学习小结
- Xshell多窗口执行同一个命令
- 常见的MAC算法(PBOC_3DES_MAC、ANSI X9.9MAC算法、ANSI x9.19算法)
- Neo4j入门
- 每天学一点Swift----面向对象上(十)
- java Socket 使用通用json包 发送 json对象