日韩av黄I国产麻豆传媒I国产91av视频在线观看I日韩一区二区三区在线看I美女国产在线I麻豆视频国产在线观看I成人黄色短片

歡迎訪問(wèn) 生活随笔!

生活随笔

當(dāng)前位置: 首頁(yè) >

TP6----------阿里云短信包验证码登录

發(fā)布時(shí)間:2024/3/12 44 豆豆
生活随笔 收集整理的這篇文章主要介紹了 TP6----------阿里云短信包验证码登录 小編覺(jué)得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.

首先開(kāi)通阿里云短信包,之后申請(qǐng)短信包簽名,這里大家自行去阿里云申請(qǐng)

安裝阿里云sdk

composer require alibabacloud/dysmsapi-20170525 2.0.9

首先創(chuàng)建Sample類方便調(diào)用,我們需要有短信簽名,簽名模板,阿里云keyId和accessKeySecret

阿里云key在阿里云首頁(yè),右上角有個(gè)acesskey管理就可以看到

Sample.php文件

<?php /***Created by giveLive*user:lingm*Date:2022/6/15*timer:下午 9:59*Atom:現(xiàn)在的努力是為了小時(shí)候吹過(guò)的NB**/namespace app\index\controller;use AlibabaCloud\SDK\Dysmsapi\V20170525\Dysmsapi;use Darabonba\OpenApi\Models\Config; use AlibabaCloud\SDK\Dysmsapi\V20170525\Models\SendSmsRequest;class Sample {/*** 使用AK&SK初始化賬號(hào)Client* @param string $accessKeyId* @param string $accessKeySecret* @return Dysmsapi Client*/public static function createClient($accessKeyId, $accessKeySecret){$config = new Config([// 您的AccessKey ID"accessKeyId" => $accessKeyId,// 您的AccessKey Secret"accessKeySecret" => $accessKeySecret]);// 訪問(wèn)的域名$config->endpoint = "dysmsapi.aliyuncs.com";return new Dysmsapi($config);}/*** @param string[] $data* @return void*/public static function main($phone,$code){$code = ["code"=>$code];// $client = self::createClient("LTAI5tJhF874FTXC1RnVGm1m", "NNdztlLo3SfJGWjsjX2HrLbez0slzT");$client = self::createClient("", ""); // 阿里云key和accesecret$sendSmsRequest = new SendSmsRequest(["phoneNumbers" => $phone, //控制器層的接收的手機(jī)號(hào)"signName" => "", //短信簽名"templateCode" => "", //短信模板"templateParam" => json_encode($code), //驗(yàn)證碼]);$resp = $client->sendSms($sendSmsRequest);if (!$resp){return false;}return $resp;}}

業(yè)務(wù)邏輯層生成隨機(jī)驗(yàn)證碼

public static function code(){//生成一個(gè)隨機(jī)的6位數(shù)字驗(yàn)證碼$code = rand(10000,999999);return $code;}

控制器層驗(yàn)證登錄

<?php /***Created by giveLive*user:lingm*Date:2022/6/15*timer:下午 10:12*Atom:現(xiàn)在的努力是為了小時(shí)候吹過(guò)的NB**/namespace app\index\controller;use think\admin\Controller; use think\facade\Cache;class PhoneLogin extends Controller {public function index(){$data['phone'] = $this->request->param("phone");$code = $this->request->param("code");if (empty($data['phone']) || empty($code)){$this->error("參數(shù)錯(cuò)誤");}//驗(yàn)證用戶是否存在 ,大家自行僬僥//.............//$data['create_at'] = date('Y-m-d H:i:s',time());$data['ip'] = $this->request->ip();//調(diào)用生成的隨機(jī)驗(yàn)證碼$getCode = Number::code();//將生成的驗(yàn)證碼放入緩存中Cache::store("redis")->set($data['phone'],$getCode);$sendCode = Sample::main($data['phone'],$getCode);//判斷輸入的驗(yàn)證碼是否正確$checkCode = Cache::store("redis")->get($data['phone']);if ($code !== $checkCode){$this->error("驗(yàn)證碼錯(cuò)誤");}//登錄成功//........//} }

至此短信驗(yàn)證登錄完結(jié)束

注意 最好這個(gè)代碼上傳到服務(wù)器驗(yàn)證,而且請(qǐng)求協(xié)議要https,否則可能會(huì)出現(xiàn)問(wèn)題,寶塔面板可以免費(fèi)申請(qǐng)ssl

總結(jié)

以上是生活随笔為你收集整理的TP6----------阿里云短信包验证码登录的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。

如果覺(jué)得生活随笔網(wǎng)站內(nèi)容還不錯(cuò),歡迎將生活随笔推薦給好友。