php实现短信验证

作者: 沙蒿同学 | 来源:发表于2018-02-01 22:27 被阅读50次

今天benny要跟大家说这个其实很简单,就是借用某一个平台的短信api接口实现短信验证,说简单呢,那是因为他的官网:http://www.ucpaas.com上有开发文档,它可以教会一个小白很快的运用它的接口,并开发自己的应用。这个官网还算人性化的,因为你一注册,就给了你10块钱的测试费用来尝试使用它的api,你要知道一条短信0.055元,10块钱给你拿来学习测试已经够多啦!

首先,你进入官网,注册,然后你就点击开发文档:
image image

这里有详细的介绍你怎么用它的东西,我就不在这里bb啦,看完后我们就直接下载一个php的demo文件来试试!!

下载后,你就可以看到一个封装的类Ucpaas.class.php和一个index.php的文件:
image image

上面的注释有详细的解释,要用到的参数啥的,你注册了账号后也就自然有了,多看几遍,有点基础的人几分钟内就可以看得懂的啦!

接着,你就开始阅读官网下面目录的内容:
image
这里有详细的介绍,我就只是做一个引导吧,具体的大家去阅读哦。

最后,我把这个短信验证功能在我的项目上实现了,你可以看下我的代码截图:
image image
<?php

//载入ucpass类

require('library/Db.class.php');

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

//初始化必填

$options['accountsid']='******';(这个不能给大家看哦)

$options['token']='******';(这个不能给大家看哦)

//初始化 $options必填

$ucpass = new Ucpaas($options);

//开发者账号信息查询默认为json或xml

header("Content-Type:text/html;charset=utf-8");

//短信验证码(模板短信),默认以65个汉字(同65个英文)为一条(可容纳字数受您应用名称占用字符影响),超过长度短信平台将会自动分割为多条发送。分割后的多条短信将按照具体占用条数计费。

// 验证码短信:同一个手机号1分钟内不能超过2条,24小时内不能超过8条

$appId = "****";(这个不能给大家看哦)

$to=$_POST['to'];

$templateId = "244286";

$string='';

for ($i=0; $i <4 ; $i++) { 

$string.=rand(0,9);

}

$param=$string;

$db = new DB();

$sql ="select * from mr_user where username = :username";

$user = $db->row($sql,array('username' =>$to));

//用户名存在

$id=$user['id'];

if ($user){

    $password=md5($param);

    $update_sql = "update mr_user set password ='$password' where id='$id'";

    $result_id = $db->query($update_sql);

    if ($result_id){

        $data=$ucpass->templateSMS($appId,$to,$templateId,$param);

        $re='';

        $arr = json_decode($data,true);

        foreach ($arr as $key => $value) {

            if ($key=='resp') {

               foreach ($value as $key2 => $value2) {

                   if ($key2=='respCode') {

                       $re=$value2;

                   }

               }

            }

        }

        if ($re=='000000') {

            echo 1;//短信已发送!

        }elseif ($re=='105147') {

            echo 3;//短信发送太频繁

        }else{

            echo 2;//号码输入有误

        }

        exit(0);

    }

    else{

        echo 0;//短信发送出错!

    }

}else {

    $data=$ucpass->templateSMS($appId,$to,$templateId,$param);

    $re='';

    $arr = json_decode($data,true);

    foreach ($arr as $key => $value) {

        if ($key=='resp') {

           foreach ($value as $key2 => $value2) {

               if ($key2=='respCode') {

                   $re=$value2;

               }

           }

        }

    }

    if ($re=='000000') {

        $addtime = time();

        $insert_sql = "insert into mr_user(username,password,addtime) value(:username,:password,$addtime)";

        $result_id = $db->query($insert_sql,array('username' =>$to,'password'=>md5($param)));

        if ($result_id){

            echo 1;//短信已发送!

        }else{

            echo 0;//短信发送出错!

        }

    }elseif($re='105147'){

        echo 3;//短信发送太频繁

    }else{

        echo 2;//号码输入有误

    }

}

相关文章

  • php实现短信验证

    今天benny要跟大家说这个其实很简单,就是借用某一个平台的短信api接口实现短信验证,说简单呢,那是因为他的官网...

  • PHP短信验证

    一、前言 现在很多网站的注册和登录都是用了短信验证的原理,例如在输入框中输入自己的手机号,然后手机就收入了4个数字...

  • 短信API实现自动化短信发送

    短信验证码接口示例,如何接入短信API接口实现短信自动发送功能; 网站如何实现自动发送短信验证码的功能,短信验证码...

  • 接入短信API,免费试用

    短信验证码接口示例,如何接入短信API接口实现短信自动发送功能; 网站如何实现自动发送短信验证码的功能,短信验证码...

  • PHP之验证码制作

    php实现字母验证码 php通过session存储验证信息 验证码通过表单提交、校验 使用js实现动态校验验证码

  • 生产力工具之云片短信平台-模板管理

    四步搞定短信验证码如何搞定短信验证码签名和模板如何使用云片API发送短信验证码Java实现短信验证码和国际短信群发...

  • Django-实现图形验证码、短信验证码功能(二)

    接上文:Django-实现图形验证码、短信验证码功能(一) 短信验证码后端发送实现 在settings中添加red...

  • php利用云片网实现短信验证码功能

    本文将以php举例,介绍网页短信验证码功能的实现。 在众多的第三方短信服务商中我选择了云片网这个短信服务商,本文也...

  • 阿里云验证码发送

    实现阿里云的短信验证码服务实现的功能 1.开通阿里云短信服务 添加签名和模板 下面写代码来实现短信验证码的发送 c...

  • xdl11

    短信验证如何实现 调用短信平台接口实现 使用阿里大于。 ajax介绍 AJAX即Asynchronous Java...

网友评论

    本文标题:php实现短信验证

    本文链接:https://www.haomeiwen.com/subject/zkijzxtx.html