思?jí)鬚HP-阿里大魚手機(jī)驗(yàn)證碼
Oct 22, 2016 am 12:00 AM小伙伴是否做PC網(wǎng)站的時(shí)候,是否遇到過(guò)注冊(cè)用戶需要使用短信驗(yàn)證的功能呢?或者找回密碼,以及驗(yàn)證用戶的信息等等功能!今天思?jí)鬚HP就為大家?guī)?lái)ThinkPHP整合阿里大魚短信驗(yàn)證的功能!
首先,我們要明白短信發(fā)送是什么原理,其實(shí)我們使用的第三方是一個(gè)通訊的短信協(xié)議,然后把我們隨機(jī)生成的一個(gè)驗(yàn)證碼發(fā)送到用戶的手機(jī)上,之后我們發(fā)送的同時(shí)在數(shù)據(jù)庫(kù)里面要保存相應(yīng)的信息用來(lái)驗(yàn)證,原理就是這樣的了,下來(lái)我們就開始一步一步的教大家去玩這個(gè)功能!
(1)我們要去建一個(gè)保存短信消息的數(shù)據(jù)表
(2)我們要去使用第三方的類文件,當(dāng)然這個(gè)類文件你可以去平臺(tái)下載,上面有PHP的demo,然后我們整合到thinkphp里面就行了,加入放在類庫(kù)里面不要忘記聲明命名空間!
(3)我們?cè)谂渲梦募锩媾渲靡恍┹o助變量
(4)這步就是我們開始寫邏輯操作了
$_POST['tel'] = "18522713XXX";
$tel = $_POST['tel'];
$w['tel'] = $tel;
$res1 = D("Record")->where($w)->find();
//一天之內(nèi)只能有三次機(jī)會(huì)(驗(yàn)證)
$gap = time()-$res1['ctime'];
if($gap>=86400){
$data['time'] = 0;
D("Record")->where($w)->save($data);
}
$res1 = D("Record")->where($w)->find();
if($res1['time']>=3){
echo "短信上限!";
}else {
//隨機(jī)發(fā)送的驗(yàn)證碼的值
$num = rand(1000, 9999);
//實(shí)例化一個(gè)對(duì)象
$ecd = new Ecd(C('url'), C('app_key'),
C('app_secret'), C('format'));
//發(fā)送驗(yàn)證碼短信
//第一個(gè)參數(shù)是手機(jī)號(hào),第二個(gè)是模板的id,在應(yīng)用管理有
一個(gè)模板的管理,第三個(gè)就是我們發(fā)送的隨機(jī)的驗(yàn)證碼,第
四個(gè)是訂單號(hào),咟?不填
$res = $ecd->send_sms_code("$tel", '1', "$num", '');
$arr = json_decode($res, true);
if ($arr['result'] == 0 && $arr['msg'] == "成功") {
$w['tel'] = $tel;
$res1 = D("Record")->where($w)->find();
if ($res1) {
$data['vc'] = $num;
$data['time'] = $res1['time'] + 1;
$data['ctime'] = time();
$res2 = D("Record")->where($w)->save($data);
if ($res2) {
echo "發(fā)送成功";
} else {
echo "發(fā)送失敗";
}
} else {
$data['tel'] = $tel;
$data['vc'] = $num;
$data['time'] = 1;
$data['ctime'] = time();
$res3 = D("Record")->add($data);
if ($res3) {
echo "發(fā)送成功";
} else {
echo "發(fā)送失敗";
}
}
}
}
(5)那就是收到短信,然后用戶提交的時(shí)候我們根據(jù)用戶的手機(jī)號(hào)去查相關(guān)的驗(yàn)證碼好了!
還有就是小伙伴要注意的就是,阿里大魚未認(rèn)證的用戶,只能給白名單的用戶發(fā)送短信,所以你要去配置一下白名單,以保證我們發(fā)送的成功!還有就是剛申請(qǐng)的時(shí)候是有免費(fèi)的100條使用的條數(shù)的,供我們測(cè)試使用!

熱AI工具

Undress AI Tool
免費(fèi)脫衣服圖片

Undresser.AI Undress
人工智能驅(qū)動(dòng)的應(yīng)用程序,用于創(chuàng)建逼真的裸體照片

AI Clothes Remover
用于從照片中去除衣服的在線人工智能工具。

Clothoff.io
AI脫衣機(jī)

Video Face Swap
使用我們完全免費(fèi)的人工智能換臉工具輕松在任何視頻中換臉!

熱門文章

熱工具

記事本++7.3.1
好用且免費(fèi)的代碼編輯器

SublimeText3漢化版
中文版,非常好用

禪工作室 13.0.1
功能強(qiáng)大的PHP集成開發(fā)環(huán)境

Dreamweaver CS6
視覺(jué)化網(wǎng)頁(yè)開發(fā)工具

SublimeText3 Mac版
神級(jí)代碼編輯軟件(SublimeText3)

《Go語(yǔ)言編程實(shí)例:Web開發(fā)中的代碼示例》隨著互聯(lián)網(wǎng)的快速發(fā)展,Web開發(fā)已經(jīng)成為各行業(yè)中必不可少的一部分。作為一門功能強(qiáng)大且性能優(yōu)越的編程語(yǔ)言,Go語(yǔ)言在Web開發(fā)中越來(lái)越受到開發(fā)者們的青睞。本文將通過(guò)具體的代碼示例,介紹如何利用Go語(yǔ)言進(jìn)行Web開發(fā),讓讀者能夠更好地理解和運(yùn)用Go語(yǔ)言來(lái)構(gòu)建自己的Web應(yīng)用。1.簡(jiǎn)單的HTTP服務(wù)器首先,讓我們從一個(gè)

華為云邊緣計(jì)算對(duì)接指南:Java代碼示例快速實(shí)現(xiàn)接口隨著物聯(lián)網(wǎng)技術(shù)的快速發(fā)展和邊緣計(jì)算的興起,越來(lái)越多的企業(yè)開始關(guān)注邊緣計(jì)算的應(yīng)用。華為云提供了邊緣計(jì)算服務(wù),為企業(yè)提供了高可靠的計(jì)算資源和便捷的開發(fā)環(huán)境,使得邊緣計(jì)算應(yīng)用更加容易實(shí)現(xiàn)。本文將介紹如何通過(guò)Java代碼快速實(shí)現(xiàn)華為云邊緣計(jì)算的接口。首先,我們需要準(zhǔn)備好開發(fā)環(huán)境。確保你已經(jīng)安裝了Java開發(fā)工具包(

Java冒泡排序最簡(jiǎn)單的代碼示例冒泡排序是一種常見(jiàn)的排序算法,它的基本思想是通過(guò)相鄰元素的比較和交換來(lái)將待排序序列逐步調(diào)整為有序序列。下面是一個(gè)簡(jiǎn)單的Java代碼示例,演示了如何實(shí)現(xiàn)冒泡排序:publicclassBubbleSort{publicstaticvoidbubbleSort(int[]arr){int

了解Python編程的入門級(jí)代碼示例Python是一種簡(jiǎn)單易學(xué),功能強(qiáng)大的編程語(yǔ)言。對(duì)于初學(xué)者來(lái)說(shuō),了解Python編程的入門級(jí)代碼示例是非常重要的。本文將為您提供一些具體的代碼示例,幫助您快速入門。打印HelloWorldprint("HelloWorld")這是Python中最簡(jiǎn)單的代碼示例。print()函數(shù)用于將指定的內(nèi)容輸出

如何使用PHP編寫庫(kù)存管理系統(tǒng)中的庫(kù)存分倉(cāng)管理功能代碼庫(kù)存管理是許多企業(yè)中不可或缺的一部分。對(duì)于擁有多個(gè)倉(cāng)庫(kù)的企業(yè)來(lái)說(shuō),庫(kù)存分倉(cāng)管理功能尤為重要。通過(guò)合理管理和跟蹤庫(kù)存,企業(yè)可以實(shí)現(xiàn)不同倉(cāng)庫(kù)之間的庫(kù)存調(diào)撥,優(yōu)化運(yùn)營(yíng)成本,改善協(xié)同效率。本文將介紹如何使用PHP編寫庫(kù)存分倉(cāng)管理功能的代碼,并為您提供相關(guān)的代碼示例。一、建立數(shù)據(jù)庫(kù)在開始編寫庫(kù)存分倉(cāng)管理功能的代碼之

PHP變量存儲(chǔ)程序運(yùn)行期間的值,對(duì)于構(gòu)建動(dòng)態(tài)且交互式的WEB應(yīng)用程序至關(guān)重要。本文將深入探討php變量,并通過(guò)10個(gè)真實(shí)的示例展示它們的實(shí)際應(yīng)用。1.存儲(chǔ)用戶輸入$username=$_POST["username"];$passWord=$_POST["password"];此示例從表單提交中提取用戶名和密碼,并將其存儲(chǔ)在變量中以供進(jìn)一步處理。2.設(shè)置配置值$database_host="localhost";$database_username="username";$database_pa

Java選擇排序法代碼編寫指南及示例選擇排序是一種簡(jiǎn)單直觀的排序算法,其思想是每次從未排序的元素中選擇最?。ɑ蜃畲螅┑脑剡M(jìn)行交換,直到所有元素排序完成。本文將提供選擇排序的代碼編寫指南,并附上具體的Java示例代碼。算法原理選擇排序的基本原理是將待排序數(shù)組分為已排序和未排序兩部分,每次從未排序部分選擇最?。ɑ蜃畲螅┑脑?,將其放到已排序部分的末尾。重復(fù)上述

標(biāo)題:從入門到精通:Go語(yǔ)言中常用數(shù)據(jù)結(jié)構(gòu)的代碼實(shí)現(xiàn)數(shù)據(jù)結(jié)構(gòu)在編程中起著至關(guān)重要的作用,它是程序設(shè)計(jì)的基礎(chǔ)。在Go語(yǔ)言中,有許多常用的數(shù)據(jù)結(jié)構(gòu),掌握這些數(shù)據(jù)結(jié)構(gòu)的實(shí)現(xiàn)方式對(duì)于成為一名優(yōu)秀的程序員至關(guān)重要。本文將介紹Go語(yǔ)言中常用的數(shù)據(jù)結(jié)構(gòu),并給出相應(yīng)的代碼示例,幫助讀者從入門到精通這些數(shù)據(jù)結(jié)構(gòu)。1.數(shù)組(Array)數(shù)組是一種基本的數(shù)據(jù)結(jié)構(gòu),是一組相同類型
