現(xiàn)在幾乎所有的網(wǎng)站或app都具有發(fā)送短信驗(yàn)證碼功能,最常見的應(yīng)用場景如網(wǎng)站或app的用戶注冊、安全登錄等,網(wǎng)站或app具有發(fā)送短信驗(yàn)證碼功能是通過調(diào)用短信接口實(shí)現(xiàn)的,那么如何通過調(diào)用短信接口實(shí)現(xiàn)發(fā)送短信驗(yàn)證碼呢?
首先需要找到一家正規(guī)靠譜的短信服務(wù)商獲取相應(yīng)的資料:
一、獲取短信接口地址,如樂信短信接口地址:https://www.lx198.com/send2 ;
二、申請賬號,樂信短信平臺賬戶申請地址為:http://www.iium.cn/acc/x5?i=110792 ;
三、獲取短信API文檔,樂信短信接口API文檔:/uploads/allimg/181024/1635045J5-0.jpg ;
四、獲取對應(yīng)開發(fā)語言的短信接口demo;
下面是樂信php發(fā)送短信接口demo:
<?php // ① 該代碼僅供接入動力思維樂信短信接口參考使用,客戶可根據(jù)實(shí)際需要自行編寫; // ② 支持發(fā)送驗(yàn)證碼短信、觸發(fā)通知短信等; // ③ 測試驗(yàn)證碼短信、通知短信,請用默認(rèn)的測試模板,默認(rèn)模板詳見接口文檔。 require_once 'HttpClient.class.php'; class dlswSdk { const HOST = 'www.lx198.com'; /** * 發(fā)送短信 * @param $user 用戶名 * @param $password 密碼 * @param $content 內(nèi)容后加簽名 * @param $mobiles 手機(jī)號多個(gè)手機(jī)號之間英文半角逗號隔開 * @return 服務(wù)端返回的結(jié)果 ok:業(yè)務(wù)id 或者 錯(cuò)誤代碼 */ final public static function sendSms($user, $password,$content,$mobiles) { $client = new HttpClient ( self::HOST ); $client->setDebug ( true ); $seed=date ( 'YmdHis' ); if (! $client->post ( '/sdk/send2', array ( 'accName' => $user, 'accPwd' => strtoupper(md5(strtoupper ( md5 ( $password ))+$seed )), 'seed' => $seed, 'content' => mb_convert_encoding ( $content, 'UTF-8', 'UTF-8' ), 'aimcodes' =>$mobiles ) )) { return '-10000'; } else { return $client->getContent () ; } } ?>
其次參考短信接口API文檔以及相應(yīng)開發(fā)語言短信接口demo,在網(wǎng)站程序或app程序需要發(fā)送短信驗(yàn)證碼的地方調(diào)用短信接口,并設(shè)置相應(yīng)的參數(shù)。
最后測試,測試完成后就可以正式使用了,需要提醒的是如果是在用戶注冊頁面調(diào)用接口,還需要對惡意發(fā)送的情況進(jìn)行防范,以免受到不必要的損失。推薦閱讀:短信驗(yàn)證碼接口安全設(shè)計(jì)