thinkphp整合系列之短信验证码、短信通知

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

2:注册;登录;认证;都是废话;拿到ACCOUNT SID、AUTH TOKEN;
白俊遥博客
3:创建一个应用;
白俊遥博客
4:新增一个模板;
白俊遥博客
5:等审核通过;拿到模板ID;好;到此;完成;
白俊遥博客
6:完成?想多了吧;这是刚达到了可以发送验证码的基本条件;接着下载官方的SDK;
标题挂着Thinkphp集成短信验证码的;再不写thinkphp;想必是要被喷成渣!渣都不剩!
所有的源代码都可以在我的开源项目bjyadmin中找到:https://github.com/baijunyao/thinkphp-bjyadmin
以我的开源项目为例;放在/ThinkPHP/Library/Org/Xb/Rest.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测试:https://github.com/baijunyao/thinkphp-bjyadmin

白俊遥博客
请先登录后发表评论
  • latest comments
  • 总共21条评论
白俊遥博客

Vivian :大牛 如何处理防盗刷?图片验证码  ip限制  号码限制  还有其他的方法吗?能不能出个案例

2019-08-06 10:58:53 回复

白俊遥博客

蝌蚪 :思路很清晰啊,我之前自己弄是把sdk放Vendor目录,然后直接在类里调,感觉代码没这样舒服,感谢分享

2017-08-29 16:04:37 回复

白俊遥博客

天阴的有点蓝 :哈哈,偷师了俊哥好长时间,今天来冒个泡

2017-08-16 11:05:52 回复

白俊遥博客

:厉害

2017-03-13 17:09:57 回复

白俊遥博客

(⌒_⌒ ) :为什么一个手机号只能接受5次验证码?

2017-03-13 16:12:15 回复

白俊遥博客

夏一 :现在阿里有限制了对于同一个手机号一天之内接收短信条数,可以看一下官方说明

2017-08-25 14:37:21 回复

白俊遥博客

方不方 :这个阿里大鱼的怎么配置呀?

2017-03-11 13:44:13 回复

白俊遥博客

夏一 :吊炸天,终于找到组织了!

2017-03-09 21:29:33 回复

白俊遥博客

CW_黄 白俊遥博客哈哈

2017-08-25 14:32:16 回复

白俊遥博客

CW_黄 :大声道

2017-08-25 16:16:00 回复

白俊遥博客

小雨的叶香伦 :请问下上面说的调用/ThinkPHP/Library/Org/Xb/RongCloud.class.php这个借口,还是调用Rest.class.php 这个?

2016-10-26 10:13:37 回复

白俊遥博客 白俊遥博客

云淡风晴 :是Rest.class.php ;多谢提醒;手误打错了;

2016-10-27 00:09:35 回复

白俊遥博客

衬人心欢 :感谢俊哥的无私奉献精神!

2016-09-05 17:34:18 回复

白俊遥博客

衬人心欢 :俊哥,订单通知呢?也用短信验证?不好吧?有没有那种APP推送的

2016-09-05 17:33:51 回复

白俊遥博客 白俊遥博客

云淡风晴 :有推送的:http://baijunyao.com/article/70

2016-09-05 22:11:02 回复

白俊遥博客

Hello world. 白俊遥博客太厉害了,偶像啊,大神。。膜拜。

2016-09-05 14:19:26 回复

白俊遥博客

蓝天 :牛!对无私的奉献表示敬意!

2016-08-18 08:56:33 回复

白俊遥博客 白俊遥博客

云淡风晴 :谢谢;

2016-08-18 22:03:49 回复

白俊遥博客

青春 :就是个人要玩的话,太贵,玩不起

2016-08-03 19:39:05 回复

白俊遥博客

青春 :厉害

2016-08-03 19:36:38 回复

白俊遥博客

NULL :666

2016-05-01 16:17:56 回复