短信验证的实现

1. 前言

短信验证通常来说,是网站用户注册、密码找回等验证用户手机的功能,而作为开发者,我们通常使用到的是第三方通信接口平台,比如:阿里大鱼、云之讯等等,而我们则以云之讯案例,讲解一下如何调用接口给用户发手机验证码并验证

2. 获得账号的sidToken

首先我们需要登录云之讯的开发者控制台http://www.ucpaas.com/login获得自己账号的sidToken,具体操作如下

短信验证的实现240.png

短信验证的实现242.png

3. 获得短信产品的templateIdappId

具体位置如下

短信验证的实现275.png

短信验证的实现277.png

4. 根据官方demo我们来走一遍

 

1)首先进入index.html输入手机并获得验证码

短信验证的实现320.png

短信验证的实现322.png

2)该post将数据传到smsyzm.php,代码如下

<?php

//载入ucpass

require_once('lib/Ucpaas.class.php');

require_once('serverSid.php');

$appid = "6631002a838c478ca8897a826e2a6569"; //应用的ID,可在开发者控制台内的短信产品下查看

$templateid = "433397";    //可在后台短信产品选择接入的应用短信模板-模板ID,查看该模板ID

$param = $_POST['yzm']; //多个参数使用英文逗号隔开(如:param=“a,b,c”),如为参数则留空

$mobile = $_POST['yzmtel'];

$uid = "";

//70字内(含70字)计一条,超过70字,按67/条计费,超过长度短信平台将会自动分割为多条发送。分割后的多条短信将按照具体占用条数计费。

echo $ucpass->SendSms($appid,$templateid,$param,$mobile,$uid);

 

3)而引入的'serverSid.php如下

<?php

require_once('lib/Ucpaas.class.php');

//初始化必填

//填写在开发者控制台首页上的Account Sid

$options['accountsid']='af50ea4dadf7fdf94ad1b1318fece815';

//填写在开发者控制台首页上的Auth Token

$options['token']='3179d340386f784f213fd06074209d9c';

//初始化 $options必填

$ucpass = new Ucpaas($options);

 

4)所以整体代码块可以看成

<?php

//载入ucpass

require_once('lib/Ucpaas.class.php');

//初始化必填

//填写在开发者控制台首页上的Account Sid

$options['accountsid']='af50ea4dadf7fdf94ad1b1318fece815';

//填写在开发者控制台首页上的Auth Token

$options['token']='3179d340386f784f213fd06074209d9c';

//初始化 $options必填

$ucpass = new Ucpaas($options);

$appid = "6631002a838c478ca8897a826e2a6569"; //应用的ID,可在开发者控制台内的短信产品下查看

$templateid = "433397";    //可在后台短信产品选择接入的应用短信模板-模板ID,查看该模板ID

$param = $_POST['yzm']; //多个参数使用英文逗号隔开(如:param=“a,b,c”),如为参数则留空

$mobile = $_POST['yzmtel'];

$uid = "";

//70字内(含70字)计一条,超过70字,按67/条计费,超过长度短信平台将会自动分割为多条发送。分割后的多条短信将按照具体占用条数计费。

echo $ucpass->SendSms($appid,$templateid,$param,$mobile,$uid);

 

5) 官方API接口

所以我们需要准备的信息就是一一填入到上面,而真正调用的API接口就是官方自己集成的Ucpaas.class.php

其中我们用到了该类

 /**

单条发送短信的function,适用于注册/找回密码/认证/操作提醒等单个用户单条短信的发送场景

     * @param $appid        应用ID

     * @param $mobile       接收短信的手机号码

     * @param $templateid   短信模板,可在后台短信产品选择接入的应用短信模板-模板ID,查看该模板ID

     * @param null $param   变量参数,多个参数使用英文逗号隔开(如:param=“a,b,c”

     * @param $uid 用于贵司标识短信的参数,按需选填。

     * @return mixed|string

     * @throws Exception

     */

    public function SendSms($appid,$templateid,$param=null,$mobile,$uid){

        $url = self::BaseUrl . 'sendsms';

        $body_json = array(

            'sid'=>$this->accountSid,

            'token'=>$this->token,

            'appid'=>$appid,

            'templateid'=>$templateid,

'param'=>$param,

'mobile'=>$mobile,

'uid'=>$uid,

        );

        $body = json_encode($body_json);

        $data = $this->getResult($url, $body,'post');

        return $data;

}

6)实战测试

尝试发送:

短信验证的实现2692.png

发送成功:

短信验证的实现2700.png

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值