傳送手機驗證碼,驗證手機驗證碼,包括資料表的設計
阿新 • • 發佈:2019-02-07
/** * 驗證手機驗證碼 */ public function validateMobileCode($post) { $mc = new MobileCodeModel(); if(empty($post['mobile'])){ $this->apiResponse(0,'缺少必要引數:MOBILE',''); } if(empty($post['mobile_code'])){ $this->apiResponse(0,'缺少必要引數:MOBILE_CODE',''); } $res_find = $mc->where([ 'mobile' => $post['mobile'], 'mobile_code' => $post['mobile_code'], 'is_use' => 0, 'expire_time' => ['gt',time()] ])->find(); if($res_find){ $res_update = $mc->where('id',$res_find['id'])->setField('is_use',1); if($res_update){ return true; } }else{ $this->apiResponse(0,'驗證未通過',''); } } /** * 傳送手機驗證碼 * @param $mobile * @param $code * @return mixed */ private function sendCode($mobile,$content){ date_default_timezone_set('PRC');//設定時區 $url = "http://www.ztsms.cn/sendNSms.do";//提交地址 $username = Config::get('MB_USERNAME');//使用者名稱 $password = Config::get('MB_PASSWORD');//原密碼 $data = array( 'content' => $content,//簡訊內容 'mobile' => $mobile,//手機號碼 'productid' => '676767',//產品id 'xh' => ''//小號 ); $isTranscoding = false; $data['content'] = $isTranscoding === true ? mb_convert_encoding($data['content'], "UTF-8") : $data['content']; $data['username']=$username; $data['tkey'] = date('YmdHis'); $data['password'] = md5(md5($password) . $data['tkey']); $curl = curl_init();// 啟動一個CURL會話 curl_setopt($curl, CURLOPT_URL, $url); // 要訪問的地址 curl_setopt($curl, CURLOPT_SSL_VERIFYPEER, false); // 對認證證書來源的檢查 curl_setopt($curl, CURLOPT_SSL_VERIFYHOST, false); // 從證書中檢查SSL加密演算法是否存在 curl_setopt($curl, CURLOPT_POST, true); // 傳送一個常規的Post請求 curl_setopt($curl, CURLOPT_POSTFIELDS, http_build_query($data)); // Post提交的資料包 curl_setopt($curl, CURLOPT_TIMEOUT, 30); // 設定超時限制防止死迴圈 curl_setopt($curl, CURLOPT_HEADER, false); // 顯示返回的Header區域內容 curl_setopt($curl, CURLOPT_RETURNTRANSFER, true); // 獲取的資訊以檔案流的形式返回 $result = curl_exec($curl); // 執行操作 return $result; }