日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

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

發布時間:2024/3/12 编程问答 39 豆豆
生活随笔 收集整理的這篇文章主要介紹了 TP6----------阿里云短信包验证码登录 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

首先開通阿里云短信包,之后申請短信包簽名,這里大家自行去阿里云申請

安裝阿里云sdk

composer require alibabacloud/dysmsapi-20170525 2.0.9

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

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

Sample.php文件

<?php /***Created by giveLive*user:lingm*Date:2022/6/15*timer:下午 9:59*Atom:現在的努力是為了小時候吹過的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初始化賬號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]);// 訪問的域名$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, //控制器層的接收的手機號"signName" => "", //短信簽名"templateCode" => "", //短信模板"templateParam" => json_encode($code), //驗證碼]);$resp = $client->sendSms($sendSmsRequest);if (!$resp){return false;}return $resp;}}

業務邏輯層生成隨機驗證碼

public static function code(){//生成一個隨機的6位數字驗證碼$code = rand(10000,999999);return $code;}

控制器層驗證登錄

<?php /***Created by giveLive*user:lingm*Date:2022/6/15*timer:下午 10:12*Atom:現在的努力是為了小時候吹過的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("參數錯誤");}//驗證用戶是否存在 ,大家自行僬僥//.............//$data['create_at'] = date('Y-m-d H:i:s',time());$data['ip'] = $this->request->ip();//調用生成的隨機驗證碼$getCode = Number::code();//將生成的驗證碼放入緩存中Cache::store("redis")->set($data['phone'],$getCode);$sendCode = Sample::main($data['phone'],$getCode);//判斷輸入的驗證碼是否正確$checkCode = Cache::store("redis")->get($data['phone']);if ($code !== $checkCode){$this->error("驗證碼錯誤");}//登錄成功//........//} }

至此短信驗證登錄完結束

注意 最好這個代碼上傳到服務器驗證,而且請求協議要https,否則可能會出現問題,寶塔面板可以免費申請ssl

總結

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

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。