摘要:經(jīng)過各大短信平臺(tái)進(jìn)行比較后,選擇了阿里大于,一個(gè)阿里巴巴的云通信平臺(tái),下面我將這次開發(fā)經(jīng)驗(yàn)和遇到的一些問題分享出來。
最近在做一個(gè)商城的項(xiàng)目,其中注冊(cè)、找回密碼、換綁手機(jī)等功能都需要用到驗(yàn)證碼,考慮到上線的安全問題,我決定用手機(jī)驗(yàn)證碼來提高安全性。經(jīng)過各大短信平臺(tái)進(jìn)行比較后,選擇了阿里大于,一個(gè)阿里巴巴的云通信平臺(tái),下面我將這次開發(fā)經(jīng)驗(yàn)和遇到的一些問題分享出來。
1.登錄平臺(tái) 阿里大于
2.登陸之后我們可以看到資費(fèi),使用場(chǎng)景等,在進(jìn)入正題之前我們需要一些準(zhǔn)備工作,首先我們先了解下短信的請(qǐng)求參數(shù),在這里我們需要注意的是sms_param這個(gè)參數(shù),在接下來我們申請(qǐng)短信模板的時(shí)候會(huì)用到
3.相應(yīng)參數(shù),對(duì)待返回值我們記住最基本的true or false 即可
4.了解完公共參數(shù),接下來我們進(jìn)入正題,首先我們得配置短信簽名和配置短信模板,短信簽名出現(xiàn)在短信開頭,注意短信模板,這里將用到上文提示的sms_param參數(shù)
5.同時(shí),在其網(wǎng)站上下載好SDK,下圖展示的是我的存放位置,使用的是thinkphp框架,其他的開發(fā)環(huán)境文件的存放位置在官網(wǎng)上有詳細(xì)說明
6.接下來是項(xiàng)目后臺(tái)的配置,其中appkey,secret在你完成上述申請(qǐng)之后可以在個(gè)人管理中心查看
class DuanXinController extends Controller { public function index() { $appkey = "...";//你的App key $secret = "...";//你的App Secret: import("Org.taobao.top.TopClient"); import("Org.taobao.top.ResultSet"); import("Org.taobao.top.RequestCheckUtil"); import("Org.taobao.top.TopLogger"); import("Org.taobao.top.request.AlibabaAliqinFcSmsNumSendRequest"); //將需要的類引入,并且將文件名改為原文件名.class.php的形式 $c = new TopClient; $c->appkey = $appkey; $c->secretKey = $secret; $req = new AlibabaAliqinFcSmsNumSendRequest; $req->setExtend("123456");//確定發(fā)給的是哪個(gè)用戶,參數(shù)為用戶id $req->setSmsType("normal"); session_start(); $verifycode = strval(rand(1000,9999)); $_SESSION["verifycode"] = $verifycode; $userStatus=0; /* 進(jìn)入阿里大魚的管理中心找到短信簽名管理,輸入已存在簽名的名稱,這里是身份驗(yàn)證。 */ $req->setSmsFreeSignName("山水優(yōu)品"); $smsParams = [ "code" => $verifycode, "product" => "..." ]; $req->setSmsParam(json_encode($smsParams)); //$req->setSmsParam("{"code":numfour() "product":"山水優(yōu)品"}"); //這里設(shè)定的是發(fā)送的短信內(nèi)容:驗(yàn)證碼${code},您正在進(jìn)行${product}身份驗(yàn)證,打死不要告訴別人哦!” $req->setRecNum(...);//參數(shù)為用戶的手機(jī)號(hào)碼 $req->setSmsTemplateCode("SMS_16670740"); $resp = $c->execute($req); //var_dump($resp);這里是用來打印返回結(jié)果 if($resp->result->success) { $userStatus=1; } else { $userStatus=0; } echo $userStatus; } // 檢查驗(yàn)證碼是否正確 function checkcode(){ session_start(); $verifycode = $_SESSION["verifycode"]; $inputcode = I("post.code"); $checkstatus = 0; if ($inputcode == $verifycode) { $checkstatus = 1; }else{ $checkstatus = 0; } echo $checkstatus; }
7.下面的代碼是項(xiàng)目前臺(tái)的Ajax請(qǐng)求部分:
send.onclick = function() { var oldTel = document.getElementById("oldTel").value; var that = this; var times = 60; this.disabled = true; timer1 = setInterval(function() { times--; that.value = times + "秒后重試"; if (times <= 0) { that.disabled = false; that.value = "發(fā)送驗(yàn)證碼"; clearInterval(timer1); times = 60; } }, 1000); $.ajax({ url: "{:U("DuanXin/index")}", type: "post", data: { "name":oldTel, }, success: function(responseText, status, xhr) { if (status == "success") { if (responseText == 1) { return true; } else { return false; } } else { return false; } }, error: function() { return false; }, timeout: 1000 * 60, }); }
這里的按鈕加入了一個(gè)簡單的倒計(jì)時(shí)功能,即點(diǎn)擊發(fā)送后60s內(nèi)無法點(diǎn)擊按鈕;
至此第一次使用短信驗(yàn)證API的經(jīng)歷結(jié)束!
--END--
文章版權(quán)歸作者所有,未經(jīng)允許請(qǐng)勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。
轉(zhuǎn)載請(qǐng)注明本文地址:http://m.specialneedsforspecialkids.com/yun/87986.html
摘要:經(jīng)過各大短信平臺(tái)進(jìn)行比較后,選擇了阿里大于,一個(gè)阿里巴巴的云通信平臺(tái),下面我將這次開發(fā)經(jīng)驗(yàn)和遇到的一些問題分享出來。 最近在做一個(gè)商城的項(xiàng)目,其中注冊(cè)、找回密碼、換綁手機(jī)等功能都需要用到驗(yàn)證碼,考慮到上線的安全問題,我決定用手機(jī)驗(yàn)證碼來提高安全性。經(jīng)過各大短信平臺(tái)進(jìn)行比較后,選擇了阿里大于,一個(gè)阿里巴巴的云通信平臺(tái),下面我將這次開發(fā)經(jīng)驗(yàn)和遇到的一些問題分享出來。 1.登錄平臺(tái) 阿里大...
摘要:本方法基于,用到了,當(dāng)然具體項(xiàng)目中也可以不用,下面我就按步驟來寫下來。 本方法基于Thinkphp,用到了jquery.validate,當(dāng)然具體項(xiàng)目中也可以不用,下面我就按步驟來寫下來。 1.準(zhǔn)備 1.登陸http://www.alidayu.com,進(jìn)入網(wǎng)址用淘寶號(hào)登陸即可2.進(jìn)入管理中心 showImg(https://segmentfault.com/img/bVQTOk?w=...
摘要:之前使用的阿里大于,不過很坑的是,新接入的都不能用了,融入進(jìn)了阿里云服務(wù),當(dāng)然阿里大于的老用戶還可以繼續(xù)用阿里大于首先還是接入,上圖找到短信服務(wù)設(shè)置短信簽名和短信模板設(shè)置或找到或下載文檔打開下載下來的文檔,只需要,將其改名為,并放到項(xiàng)目根目 之前使用的阿里大于,不過很坑的是,新接入的都不能用了,融入進(jìn)了阿里云服務(wù),當(dāng)然阿里大于的老用戶還可以繼續(xù)用阿里大于 首先還是接入,上圖: (1)找...
摘要:需求場(chǎng)景發(fā)送驗(yàn)證碼或者消息通知,可發(fā)送到手機(jī)或郵箱中。完成首先,在中的規(guī)范就是使用的消息通知,這里基于場(chǎng)景為驗(yàn)證碼。所以我們?cè)隍?yàn)證碼模型中添加是完全符合通知的正確使用的。 順便發(fā)個(gè)小通知:7月15日ThinkSNS+開源版發(fā)布,同時(shí)非開源的APP也走出內(nèi)測(cè)階段,體驗(yàn)二維碼也全面發(fā)布體驗(yàn)。 什么是ThinkSNS ? ThinkSNS(簡稱TS),一款全平臺(tái)綜合性社交系統(tǒng),為國內(nèi)外大中小...
閱讀 2992·2023-04-25 17:22
閱讀 1556·2019-08-30 15:54
閱讀 1287·2019-08-30 15:53
閱讀 1807·2019-08-30 15:43
閱讀 3065·2019-08-29 12:29
閱讀 1245·2019-08-26 11:37
閱讀 3279·2019-08-23 18:02
閱讀 1621·2019-08-23 14:15