1. 程式人生 > >OneThink傳送手機簡訊驗證APP介面

OneThink傳送手機簡訊驗證APP介面

<?php // +---------------------------------------------------------------------- // | OneThink [ WE CAN DO IT JUST THINK IT ] // +---------------------------------------------------------------------- // | Copyright (c) 2013 http://www.onethink.cn All rights reserved. // +----------------------------------------------------------------------
// | Author: 麥當苗兒 <[email protected]> <http://www.zjzit.cn>; // +---------------------------------------------------------------------- namespace Home\Controller; use OT\DataDictionary; use Think\Ucpaas; //驗證碼介面檔案 use User\Api\UserApi; /** * 前臺首頁控制器 * 主要獲取首頁聚合資料 */ class ApiZhuceController
extends HomeController {
//傳送驗證碼 public function fsyzm(){ //判斷手機號是否已經註冊 $datatel['username']= I('tel'); $dbtel = M('ucenter_member'); $requlttel = $dbtel->where($datatel)->select(); if($requlttel){ $data['zt']='no'; $data['tishi'
]='該手機號已註冊!'; echo I('huidiao')."(".json_encode($data).")";die; } $db = M('telyz'); $options['accountsid']='XXXXXXXXXXXXXXXXXXXXXXX'; $options['token']='XXXXXXXXXXXXXXXXXXXXXXXXX'; $ucpass = new Ucpaas($options); $to = I('tel'); $appId = "XXXXXXXXXXXXXXXXXXXXX"; $templateId = "1434"; $yzm = rand(1000,9999); $param="test," . $yzm . ",3"; $resulta = $db->where(array("tel"=>$to))->select(); $stime = strtotime(date('Y-m-d')); //取當天凌晨時間濯 $xianzai = time(); $fasongdate = intval($resulta[0]['fasongdate']); $tiaoshu = intval($resulta[0]['tiaoshu']); //echo "111---" . $stime ."---222---" . $xianzai ."---333---".$fasongdate.">>"; $zhuangtai = 0; //判斷資料庫有沒有記錄 if($resulta){ $fasongdate = intval($resulta[0]['fasongdate']); $fasongdate6 = $fasongdate + 60; $xianzai = time(); $tiaoshu = $resulta[0]['tiaoshu']; if($fasongdate < $stime){ $zhuangtai = 102;//狀態102=今天沒有傳送驗證碼。直接傳送驗證碼,並修改資料庫記錄,條數為1 }elseif($tiaoshu >= 10){ $zhuangtai = 301;//狀態301=今天傳送條數大於10條,返回JSON no+提示傳送條數大於10 }elseif($xianzai < $fasongdate6 ){ $zhuangtai = 302;//狀態302=距離上次傳送驗證碼時間小於1分鐘。返回JSON no+提示距離上次傳送時間小於1分鐘。 }else{ $zhuangtai = 103;//狀態103=滿足條件,直接傳送驗證碼,並修改資料庫記錄,條數+1 } }else{ $zhuangtai = 101;//狀態101=未找到資料庫記錄。直接傳送驗證碼,並新增資料庫記錄,條數為1 } switch ($zhuangtai) { case 101: //echo "101"; $reqult = $ucpass->templateSMS($appId,$to,$templateId,$param); $arr= json_decode($reqult,true); $res = $arr['resp']['respCode']; if ($res=="000000"){ //傳送成功返回JSON $data['zt']='yes'; echo I('huidiao')."(".json_encode($data).")"; //傳送成功後,將驗證碼、手機號、傳送時間、狀態新增到資料庫。 $datadb['yzm'] = $yzm; $datadb['tel'] = $to; $datadb['fasongdate'] = time(); $datadb['zt'] = "1"; $datadb['tiaoshu'] = "1"; $db = $db->data($datadb)->add();die; }else{ //傳送錯誤返回JSON $data['zt']='no'; $data['tishi']='錯誤101'; echo I('huidiao')."(".json_encode($data).")";die; } break; case 102: //echo "102"; //狀態102=今天沒有傳送驗證碼。直接傳送驗證碼,並修改資料庫記錄,條數為1 $reqult = $ucpass->templateSMS($appId,$to,$templateId,$param); $arr= json_decode($reqult,true); $res = $arr['resp']['respCode']; if ($res=="000000"){ //傳送成功返回JSON $data['zt']='yes'; echo I('huidiao')."(".json_encode($data).")"; //傳送成功後,將驗證碼、手機號、傳送時間、狀態新增到資料庫。 $datadb['yzm'] = $yzm; $datadb['tel'] = $to; $datadb['fasongdate'] = time(); $datadb['zt'] = "1"; $datadb['tiaoshu'] = "1"; $db->where(array("tel"=>$to))->save($datadb);die; }else{ //傳送錯誤返回JSON $data['zt']='no'; $data['tishi']='錯誤102'; echo I('huidiao')."(".json_encode($data).")";die; } break; case 103: //echo "103"; //狀態103=滿足條件,直接傳送驗證碼,並修改資料庫記錄,條數+1 $reqult = $ucpass->templateSMS($appId,$to,$templateId,$param); $arr= json_decode($reqult,true); $res = $arr['resp']['respCode']; if ($res=="000000"){ //傳送成功返回JSON $data['zt']='yes'; echo I('huidiao')."(".json_encode($data).")"; //傳送成功後,將驗證碼、手機號、傳送時間、狀態新增到資料庫。 $datadb['yzm'] = $yzm; $datadb['tel'] = $to; $datadb['fasongdate'] = time(); $datadb['zt'] = "1"; $datadb['tiaoshu'] = $tiaoshu + 1; $db->where(array("tel"=>$to))->save($datadb);die; }else{ //傳送錯誤返回JSON $data['zt']='no'; $data['tishi']='錯誤103'; echo I('huidiao')."(".json_encode($data).")";die; } break; case 301: //echo "301"; //狀態301=今天傳送條數大於10條,返回JSON no+提示傳送條數大於10 $data['zt']='no'; $data['tishi']='今天已經發送了10條驗證碼'; echo I('huidiao')."(".json_encode($data).")";die; break; case 302: //echo "302"; //狀態302=距離上次傳送驗證碼時間小於1分鐘。返回JSON no+提示距離上次傳送時間小於1分鐘。 $data['zt']='no'; $data['tishi']='距離上次傳送驗證碼時間小於1分鐘'; echo I('huidiao')."(".json_encode($data).")";die; break; } } }

相關推薦

OneThink傳送手機簡訊驗證APP介面

<?php // +---------------------------------------------------------------------- // | OneThink [ WE CAN DO IT JUST THINK IT ] // +----------------------

java調介面實現傳送手機簡訊驗證碼功能,手機驗證碼,介面呼叫

近來由於專案需要,需要用到手機簡訊驗證碼的功能,其中最主要的是用到了第三方提供的簡訊平臺介面WebService客戶端介面,下面我把我在專案中用到的記錄一下,以便給大家提供個思路,由於本人的文采有限,還請大家見諒! 一:首先上幾張案例截圖,以便大家可以瞭

python 實現傳送手機簡訊驗證碼後臺方法

1、生成4位數字驗證碼 def createPhoneCode(session): chars=['0','1','2','3','4','5','6','7','8','9'] x = random.choice(chars),random.choice(

PHP 傳送手機簡訊驗證

首先我們要清楚以下要點: 1.簡訊平臺 2.編碼模式 3.curl方法 4.介面引數 5.返回值(成功/失敗)   我們開始吧: 1.簡訊平臺,有很多,當初同學介紹給我,是“阿里大於”,但由於第一次加入這麼大的平臺,有點迷,最後的結果是沒成功....我找到了

C# 開發(創藍253)手機簡訊驗證介面的例項

創藍253: https://www.253.com/ ? 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16

ThinkPHP3.2.3整合傳送手機簡訊驗證

說明: 每條價格在幾分錢,買的量越大,優惠力度越大。 主要程式碼 1、在\ThinkPHP\Library\Org資料夾下,建立Msg.class.php檔案,程式碼如下: <? /*-------------------------------- 功能: P

JAVA傳送手機簡訊,client簡訊傳送介面示例(java)

程式碼中有註釋: //傳送簡訊的方法 private static ObjectMapper mapper = new ObjectMapper(); public String sendSms(){ Long phoneNum = getLong("phoneNum"); Map

.NET 實現手機簡訊驗證介面

My first blog注:此文章是用於秒滴的手機簡訊驗證先宣告一個類AccontToken ,裡面新增4個欄位:開發者主賬號ID:accountSid,開發者密匙:AUTH_TOKEN,簡訊接收端手機號碼:phonenumber,手機驗證碼:Verify不明白的多看哈:h

ThinkPHP5聚合資料簡訊驗證介面實現註冊/忘記密碼功能

1、前端頁面主要程式碼 這裡點擊發送驗證碼按鈕通過ajax將相關資訊傳到後端getSms方法中。 <form class="form-horizontal form-signin" method="post" action="{:url('register/forget')

簡訊驗證介面【JAVA】

平臺接入簡訊驗證碼,需要先獲取APPID和APPKEY,然後需要引入一個JAR包。如果專案是maven專案的話直接把下面程式碼加到pom檔案  <!-- https://mvnrepository.com/artifact/org.apache.httpcomponents/

【Java分享】3分鐘接入簡訊驗證介面的全過程,只需3步。

簡訊驗證碼是目前使用者身份驗證最有效的手段,具有便捷和唯一性,是識別使用者身份最快速的方式。其實接入簡訊驗證碼也不是很麻煩和費時間的事情,按照我說的做,只需要大約3分鐘、3個步驟就輕鬆完成。 首先去簡訊平臺申請賬號,獲取介面地址和介面文件以及返回值。這都是接入簡訊驗證碼前的準備。

JAVA實現手機簡訊驗證

手機簡訊驗證碼介面來自於網易雲手機簡訊介面 package com.netease.code; import java.util.ArrayList; import java.util.Date; import java.util.List; import org.apache.http.H

7個線上接收手機簡訊驗證碼的免費網路服務整理

一直以來Email和手機號碼都是線上服務用來驗證使用者身份的主要方式,現在還加入直接以第三方帳號例如微信、微博、Google等註冊登入,這些過程不外乎是減少被短時間內大量註冊或濫用的可能性,但某些時候我們並不希望被知道真實身份,就可以使用一些方法繞過驗證,例如註冊

手機簡訊驗證碼服務

這裡我使用的是阿里雲的簡訊服務,首先需要登入阿里雲官方網站,找到並開通簡訊服務,然後需要申請簡訊簽名和模版。 由於頁面展示東西太多可以搜尋 “簡訊服務” 關鍵詞 (如果是登入狀態就是如下的圖) 無登入的狀態的圖,這時候就要開通,也就是要登入。 登入成

C# 實現傳送手機簡訊(可用)

前幾天分享了java如何對接簡訊介面的例項,這兩天技術經理又佈置了任務要求在老的網站也要對接簡訊介面,撿起了之前學習的c#,但是因為年代久遠,所有在技術方面略有不熟悉的,就參考了其他同行的程式碼~~加以修改,現在把原始碼分享給大家,希望可以給大家一個幫助,當然簡

atitit 破解 攔截 繞過 網站 手機 簡訊 驗證碼 之自動獲取手機簡訊方式 attilax 總結

                atitit.破解  攔截 繞過 網站 手機 簡訊 驗證碼 之自動獲取手機簡訊方式 attilax 總結1. 自動獲取手機簡訊方式的原理 Cp bg sms feodg db hteu le ..ziyao bg na pull chwlai ,zai bg na sqlite

spring-security-oauth2(六) 簡訊驗證介面開發

簡訊驗證碼介面開發 簡訊驗證碼生成介面 簡訊驗證碼傳送介面 簡訊生成策略模板模式重構 1.簡訊驗證碼介面開發 1.1簡訊驗證碼生成介面 傳送簡訊驗證碼controller package com.rui.tiger.auth.core.captcha; i

簡訊驗證介面被惡意攻擊怎麼辦?

簡訊介面驗證碼通常用於電商、手機APP、網上銀行、社交論壇等網際網路行業,通過簡訊驗證碼進行身份二次驗證,確保使用者身份真實有效。但是,最近有很多使用者莫名收到各類註冊簡訊、驗證簡訊等,技術人員排查,發現是簡訊驗證碼介面被惡意攻擊了,導致驗證碼介面被刷。那麼該如何避免被刷呢

ECshop如何接入手機簡訊驗證功能

使用者在註冊網站會員時,如果網站需要獲取使用者的真實手機號碼,就要接入使用者手機簡訊驗證功能。本文提供了ECshop網店系統接入手機簡訊驗證方法及完整程式程式碼。 一、程式示例 程式在ECshop會員註冊頁面的基礎上

java實現手機簡訊驗證的基本思路

整體流程: 客戶填入手機號,通過客戶端點選獲取驗證碼按鈕,驗證手機號是否有效,有效則客戶端傳送請求到後臺伺服器,客戶端開始倒計時60s,不通過則返回; 伺服器,驗證手機號是否被註冊或有效,通過則呼叫