tp短信驗證碼(配置以及使用)

阿里雲短信驗證碼

今天搞了一個短信的驗證碼,用的是阿里雲的平臺,https://cn.aliyun.com/ss/?k=%E7%9F%AD%E4%BF%A1api,免費的驗證碼測試,不用充錢了。阿里的api有很多也有很多免費測試的接口(其實衝一塊錢,就是使用了,他會判斷你的阿里雲裏有錢自動就扣費了,一塊錢的夠你測試了)

別人的api

 

搜索完畢後點任意一個->買即可:

 

點他:

 

點擊控制檯:

 

我們所要的短信配置的信息:

 

配置阿里雲

 

搜索打開它:

 

也可以點擊去看國內消息裏面去增加

 

說一下我們這倆有啥用

首先是:簽名名稱

 

也就是咱們的公司名字,當然代碼裏面有,先寫上,後面你就知道在代碼中那個地方了,當然要審覈,審覈過關了就可以使用了

增加模板去:

 

看一下模板的內容都有啥:

然後申請說明你瞎說一下即可,注意我們的變量名字就用他給的就行,儘量不要改,因爲他們的實例上面的變量也是這個。提交審覈過關就OK了。

 

自己的api

配置和上面一樣

 

自己api配置阿里雲

 

搜索打開它:

 

也可以點擊去看國內消息裏面去增加

 

說一下我們這倆有啥用

首先是:簽名名稱

 

也就是咱們的公司名字,當然代碼裏面有,先寫上,後面你就知道在代碼中那個地方了,當然要審覈,審覈過關了就可以使用了

增加模板去:

 

看一下模板的內容都有啥:

然後申請說明你瞎說一下即可,注意我們的變量名字就用他給的就行,儘量不要改,因爲他們的實例上面的變量也是這個。提交審覈過關就OK了。

 

 

我們要生成自己的

$accessKeyId$accessKeySecret

 

信息裏面概述:

 

 

點擊:

 

 

 

 

點擊創建即可:

 

 

你的手機驗證碼

 

 

 

然後他讓你下載一個excel文件,文件裏面有

 

先不要管這個,放到一個安全位置,下面要用到

 

 

 

 

例子分析:

例子介紹;首先弄手機號,輸入正確才能進行判斷,然後我將驗證碼信息插入到了我們的數據庫中去了。

 

在插入的前提是手機號輸入正確,並且驗證碼已經發送到你手機上了。

 

當你的驗證碼輸入正確,然後我就會提示你註冊成功,當然是在這個驗證碼有效期間內。

我設置的是有效期間爲五分鐘

 

 

配置代碼

我用的是我自己的沒有用別人的域名:

我們直接在阿里雲上面衝一塊錢,就可以發短信了

 

 

將下載好的文件放在extend並改名字alisms

 

 

我將文件放在了公共部分,方便我們的調用

 

 

必須傳的兩個參數

 

公共文件中要更改的內容

 

 

Index控制器中

調用一下即可

 

上面做好的代碼分享

做好的代碼,有數據庫有判斷

鏈接:https://pan.baidu.com/s/1Yg1p7ilfVYZ7IMQcwBnLhg

提取碼:vkz6

 

 

如果不想那麼給你一個空的demo

鏈接:https://pan.baidu.com/s/1mW5wQ--GwPkPb0loxSmyHQ 
提取碼:qcki

代碼分享:

注:我們要吧下載好的內容放在extend文件夾中改名字alisms;

common函數代碼

<?php
use Aliyun\Core\Config;
use Aliyun\Core\Profile\DefaultProfile;
use Aliyun\Core\DefaultAcsClient;
use Aliyun\Api\Sms\Request\V20170525\SendSmsRequest;
/**
 * 短信發送
 * @param $to    接收人
 * @param $code   短信驗證碼
 * @return json
 */
function send_sms($to, $code){
    require_once '../extend/alisms/api_sdk/vendor/autoload.php';
    Config::load(); //加載區域結點配置
    $accessKeyId = '******************';//自己的AccessKeyId
    $accessKeySecret = '**************';//自己的AccessKeySecret
    $templateParam = $code;
    //短信API產品名(短信產品名固定,無需修改)
    $product = "Dysmsapi";
    //短信API產品域名(接口地址固定,無需修改)
    $domain = "dysmsapi.aliyuncs.com";
    //暫時不支持多Region(目前僅支持cn-hangzhou請勿修改)
    $region = "cn-hangzhou";
    // 初始化用戶Profile實例
    $profile = DefaultProfile::getProfile($region, $accessKeyId, $accessKeySecret);
    // 增加服務結點
    DefaultProfile::addEndpoint("cn-hangzhou", "cn-hangzhou", $product, $domain);
    // 初始化AcsClient用於發起請求
    $acsClient= new DefaultAcsClient($profile);
    // 初始化SendSmsRequest實例用於設置發送短信的參數
    $request = new SendSmsRequest();
    // 必填,設置雉短信接收號碼
    $request->setPhoneNumbers($to);
    // 必填,設置簽名名稱
    $request->setSignName("********");//要更改
    // 必填,設置模板CODE
    $request->setTemplateCode("*********");//要更改
    // 可選,設置模板參數
    if($templateParam) {
        $request->setTemplateParam(json_encode(['code'=>$templateParam]));//由於我的模板裏需要傳遞我的短信驗證碼
    }
    //發起訪問請求
    $acsResponse = $acsClient->getAcsResponse($request);
    //返回請求結果
    $result = json_decode(json_encode($acsResponse),true);
    // 具體返回值參考文檔:https://help.aliyun.com/document_detail/55451.html?spm=a2c4g.11186623.6.563.YSe8FK
    return $result;
}
?>

 

index控制器

 public function verification()
 {
        $code = rand( 100000, 999999 );
        $phone = '150*****';//正確手機號
        $result = send_sms( $phone, $code );
        dump($result);exit;
}

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章