thinkphp整合系列之短信验证码、订单通知
现在这个短信通知泛滥的年代;应用如果没有个短信注册;你都不敢说你是搞开发的;
这个验证码搞起来是不难的;但是如果刚接触也是有点不知从哪下手的迷茫;
先讲下概念;
要想发送验证码;需要至少三项;appid、key、模板id;
appid、和key比如较容易理解;各种第三方平台都会提供的;可能叫法不一样;
模板id就是指的短信的内容;例如【淘宝】验证码是192612,请您在5分钟内输入;
这就是一个模板;我们发短信的时候只能改变192612、和5这两个数字;其他是固定的;
因为政策的问题;模板需要申请并审核;一般1个工作日就过了;
下面来具体写流程;
1:找一个靠谱的短信验证码平台;推荐如下使用过的;下面以容联云通讯为例;其他平台一个道理;
阿里大鱼:http://www.alidayu.com/service?spm=a3142.7802752.1.4.oAfDUZ&_t=2#sms
容联云通讯:http://www.yuntongxun.com/
2:注册;登录;认证;都是废话;拿到ACCOUNT SID、AUTH TOKEN;

3:创建一个应用;

4:新增一个模板;

5:等审核通过;拿到模板ID;好;到此;完成;

6:完成?想多了吧;这是刚达到了可以发送验证码的基本条件;接着下载官方的SDK;
标题挂着Thinkphp集成短信验证码的;再不写thinkphp;想必是要被喷成渣!渣都不剩!
所有的源代码都可以在我的开源项目bjyadmin中找到:http://git.oschina.net/shuaibai123/thinkphp-bjyadmin
以我的开源项目为例;放在/ThinkPHP/Library/Org/Xb/RongCloud.class.php
7:在公共函数库中增加函数/Application/Common/Common/function.php
/**
* 发送 容联云通讯 验证码
* @param int $phone 手机号
* @param int $code 验证码
* @return boole 是否发送成功
*/
function send_sms_code($phone,$code){
//请求地址,格式如下,不需要写https://
$serverIP='app.cloopen.com';
//请求端口
$serverPort='8883';
//REST版本号
$softVersion='2013-12-26';
//主帐号
$accountSid=C('RONGLIAN_ACCOUNT_SID');
//主帐号Token
$accountToken=C('RONGLIAN_ACCOUNT_TOKEN');
//应用Id
$appId=C('RONGLIAN_APPID'); $rest = new \Org\Xb\Rest($serverIP,$serverPort,$softVersion);
$rest->setAccount($accountSid,$accountToken);
$rest->setAppId($appId);
// 发送模板短信
$result=$rest->sendTemplateSMS($phone,array($code,5),59939);
if($result==NULL) {
return false;
}
if($result->statusCode!=0) {
return false;
}else{
return true;
}
}
8:把ACCOUNT SID、AUTH TOKEN、模板id 填到配置项/Application/Common/Conf/config.php 中
'RONGLIAN_ACCOUNT_SID' => '', //容联云通讯 主账号 accountSid
'RONGLIAN_ACCOUNT_TOKEN' => '', //容联云通讯 主账号token accountToken
'RONGLIAN_APPID' => '', //容联云通讯 应用Id appid
'RONGLIAN_TEMPLATE_ID' => '', //容联云通讯 模板Id
9:调用函数:send_sms_code('手机号','验证码');即可
我最近在整理的开源项目已经是集成好了;这一切;只需要在配置项填空;就可以发短信了;
童鞋们需要的可以直接git clone测试:http://git.oschina.net/shuaibai123/thinkphp-bjyadmin
本文为白俊遥原创文章,转载无需和我联系,但请注明来自白俊遥博客http://baijunyao.com
thinkphp整合系列之短信验证码、订单通知的更多相关文章
- flask开发restful api系列(5)-短信验证码
我们现在开发app,注册用户的时候,不再像web一样,发送到个人邮箱了,毕竟个人邮箱在移动端填写验证都很麻烦,一般都采用短信验证码的方式.今天我们就讲讲这方面的内容. 首先,先找一个平台吧.我们公司找 ...
- C++ 短信验证码/通知 - 代码示例
//接口类型:互亿无线触发短信接口,支持发送验证码短信.订单通知短信等. // ///////////////////账户注册:请通过该地址开通账户http://user.ihuyi.com/regi ...
- Python3实现发送邮件和发送短信验证码
Python3实现发送邮件和发送短信验证码 Python3实现发送邮件: import smtplib from email.mime.text import MIMEText from email. ...
- .net 实现之短信验证码
接口类型:互亿无线触发短信接口,支持发送验证码短信.订单通知短信等. 账户注册:请通过该地址开通账户http://sms.ihuyi.com/register.html 只能测试用: 实现注册页面 & ...
- 云平台短信验证码通知短信java/php/.net开发实现
一.本文目的 大部分平台都有一个接入发送短信验证码.通知短信的需求.虽然市场上大部分平台的接口都只是一个非常普通的HTTP-GET请求,但终归有需要学习和借鉴使用的朋友. 本文的初衷是主要提供学习便利 ...
- thinkphp整合系列之极验滑动验证码
对于建站的筒子们来说:垃圾广告真是让人深恶痛绝:为了清净:搞个难以识别的验证码吧:又被用户各种吐槽:直到后来出现了极验这个滑动的验证码:这真是一个体验好安全高的方案:官网:http://www.gee ...
- thinkphp结合云之讯做短信验证码
thinkphp结合云之讯做短信验证码先去云之讯注册账号 网址http://www.ucpaas.com/ 注册云之讯平台账号,即可免费获得10元测试费用测试够用啦 解压附件到 ThinkPHP\Li ...
- SpringSceurity(4)---短信验证码功能实现
SpringSceurity(4)---短信验证码功能实现 有关SpringSceurity系列之前有写文章 1.SpringSecurity(1)---认证+授权代码实现 2.SpringSecur ...
- Atitit usrQBM1603短信验证码规范
Atitit usrQBM1603短信验证码规范 短信验证码扩展至短信服务和验证码服务1 主要方法1 参考模板1 短信验证码扩展至短信服务和验证码服务 主要方法 Line 27: public cla ...
随机推荐
- SpringMVC 系列教程1-文件上传-配置
SpringMVC默认没有配置上传解析器 使用SpringMVC来处理上传必须添加对MultipartResolver上传解析器的声明配置. 配置之后,客户端每次进行请求的时候,SpringMVC都会 ...
- Scrapy框架使用—quotesbot 项目(学习记录一)
一.Scrapy框架的安装及相关理论知识的学习可以参考:http://www.yiibai.com/scrapy/scrapy_environment.html 二.重点记录我学习使用scrapy框架 ...
- Spring Aspect 用法略讲
『配置Aspect』 若要启用AspectJ风格的注解则必须额外的导入AspectJ的jar包,此外还需要在spring的配置文件中进行配置,配置方式有两种; 一.在配置文件的Schema中进行配置 ...
- oracle 使用技巧
1.PL/SQL Developer记住登陆密码 在使用PL/SQL Developer时,为了工作方便希望PL/SQL Developer记住登录Oracle的用户名和密码: 设置方法:PL/SQ ...
- PHP学习过程_Symfony_(1)
从今天开始学习php,感兴趣的同学欢迎一块讨论学习,QQ群新群182983780; 1:配置环境变量 把这php和php5http://pan.baidu.com/s/1pKDq9tT两个文件同时c盘 ...
- Xssf配合metaspolit使用
安装xssf download: svn export http://xssf.googlecode.com/svn/trunk /home/User/xssf install: svn expor ...
- 第四十七节,random 随机数模块
random 随机数模块格式: import random 引入随机模块文件 random.randrange(65,91) 调用随机函数random.randrange(随机数开始范围,随机数结束范 ...
- JavaScript的计时器对象
1.JavaScript计时器,我们可以在设定的时间间隔之后来执行代码,而不是在函数被调用后立即执行. 计时器类型: 1)一次性计时器:仅在指定的延迟时间之后触发一次. 2)间隔性触发计时 ...
- 如何理解CSS中的浮动 :其实他就像乘坐扶梯一样
只要你用过自动扶梯,你就能很快的理解CSS中的浮动(Float). 你肯定遇到过这样的情况: 做好了,你想用CSS浮动来调整元素间的位置关系. 在写完代码之后,你发现浮动元素没出现在你设想 ...
- CDOJ 1270 Playfair(模拟)
题目链接 Playfair is a kind of substitution cipher.And the encryption role is simple.In general,there ar ...