導航:首頁 > 編程語言 > php生成簡訊驗證碼

php生成簡訊驗證碼

發布時間:2024-08-13 17:30:39

㈠ 誰能幫我寫一個php的簡訊驗證常式,

<?php

/**

*

* User: shikiliu

* Date: 13-7-11

*/

class TelephoneCheck

{



/**

* 取得某個用戶某次活動的手機驗證碼

* @param $uin 用戶ID 小於10000系統保留

* @param $actId 活動ID 小於1000系統保留

* @param $telephone 用戶手機號

* @return bool|int 4位數的驗證碼

*/

public function getTelephoneCode($uin, $actId, $telephone)

{


if ($uin < 10000 || $actId < 1000 || empty($telephone)) {

return false;

}


$time = time();


$timeFeature = hexdec(substr(md5($time), 0, 3)) & 0x1F1;


$telephoneFeature = hexdec(substr(md5($telephone), 8, 4));


$actIdFeature = hexdec(substr(md5($actId), 16, 4));


$uinFeature = hexdec(substr(md5($uin), 24, 4));


$sumFeature = $telephoneFeature + $actIdFeature + $uinFeature;


$sumFeature = $sumFeature % 10000;


if ($sumFeature < 1000) {

$sumFeature = 5145;

}


$result = $sumFeature | $timeFeature;


return $result;

}



/**

* 驗證用戶的手機驗證碼

* @param $uin 用戶ID 小於10000系統保留

* @param $actId 活動ID 小於1000系統保留

* @param $telephone 用戶手機號

* @param $code getTelephoneCode生成的驗證碼

* @return bool 是否正確

*/

public function checkTelephoneCode($uin, $actId, $telephone, $code)

{


if ($uin < 10000 || $actId < 1000 || empty($telephone) || empty($code)) {

return false;

}


$telephoneFeature = hexdec(substr(md5($telephone), 8, 4));


$actIdFeature = hexdec(substr(md5($actId), 16, 4));


$uinFeature = hexdec(substr(md5($uin), 24, 4));


$sumFeature = $telephoneFeature + $actIdFeature + $uinFeature;


$sumFeature = $sumFeature % 10000;


if ($sumFeature < 1000) {

$sumFeature = 5145;

}


$sumFeature = $sumFeature & 0xE0E;


$code = $code & 0xE0E;


if ($sumFeature == $code) {

return true;

}

return false;

}

}



$actId = 10001;

$telephone = 13797025562;

$uin = 514540767;



$telCode = new TelephoneCheck();



$code = $telCode->getTelephoneCode($uin, $actId, $telephone);


var_mp($code);


var_mp($telCode->checkTelephoneCode($uin, $actId, $telephone, $code));


var_mp($telCode->checkTelephoneCode($uin, $actId, $telephone, $code+10));

㈡ 用PHP寫一個介面,隨機生成6位數字,然後以簡訊的形式發送到對應的手機號上。從來沒寫過介面不知道如何寫

簡訊介面需要你有對應的簡訊服務商才行,通常是第三方簡訊服務商,這種服務往往是收費的,收取的費用越多,每天可以發送的簡訊數量越多。
你需要向他們申請簡訊介面,申請成功後會有介面文檔,按照文檔中的規定發送相應的數據即可,通常發送的數據包含:需要發送簡訊的手機號、簡訊內容。
介面寫法通常會在文檔中有寫,甚至有的文檔會附帶範例以供開發者參考。

㈢ php簡訊介面是什麼

就是你後台程序用來的發簡訊給網站用戶的
你要去購買 然後他們會給你一個 地址和賬號和密碼
然後 地址+賬號+密碼+要發送的號碼+要發送的內容 就發送簡訊了

㈣ php如何利用雲片網實現簡訊驗證碼功能

充了2000條簡訊,莫名其妙被扣完,一查才發現,幾天之內他們系統給一個空號頻繁發簡訊,而且都是接收沒成功,但是雲片網直接扣費了,而且如果我們的介面沒有配置好,簡訊余額不足了,他提醒我們,也會扣我們的費用。反正只要用了雲片網,不管發沒發成功,都要收費,咨詢客服,他們說只要介面給了他們指令,他們就會收費,他們不管手機是不是空號,是不是發成功。2000條就這樣被坑了。以下是截圖

㈤ 求助,哪位大神給說一下,php簡訊驗證碼表結構設計

id 自增
mobile 手機號
code 驗證碼
add_time 生成時間
status 使用狀態:1為已使用,0為未使用,默認為0

以上為最簡單的結構,需求不復雜應該就夠用的了,add_time可以用於判斷是否過期,status可以用於判斷是否已經使用,要是重新發送驗證碼的話,就把前面的記錄刪除掉。如果多個功能用到驗證碼的話,弄個type欄位來區分功能

㈥ php實現手機驗證碼驗證注冊功能的邏輯是怎樣的

手機注冊驗證邏輯是這樣的:
首先要找簡訊服務商如:夢網、雲信使、互億無線等等申請簡訊發送介面。
網站實現流程如下:

第一步:用戶注冊時輸入手機號,網站首先要通過JS或者ajax+php驗證這個號碼是不是正確的手機號。
第二步:用戶點擊發送手機驗證碼,通過ajax把手機號傳到php,這時php生成一個隨機的驗證碼保存在session中,然後通過簡訊介面把這個驗證碼發送到這個手機號中。
第三步:用戶輸入手機收到的驗證碼注冊。網站用session中的驗證碼和用戶輸入的驗證碼比較。

閱讀全文

與php生成簡訊驗證碼相關的資料

熱點內容
程序員兩萬的台式機 瀏覽:492
手指速演算法38怎麼算 瀏覽:516
程序員的英語單詞 瀏覽:902
做單片機開發的可以做到多少歲 瀏覽:82
可以做pdf 瀏覽:853
解壓是什麼意思怎麼解壓 瀏覽:420
衛星電視加密有用嗎 瀏覽:534
什麼app新用戶有優惠券 瀏覽:762
idea編譯方法 瀏覽:725
單片機繪制光滑曲線 瀏覽:852
python協程快還是多線程快 瀏覽:110
android文字自動滾動 瀏覽:391
ruby獲取伺服器地址 瀏覽:977
安卓適配器中如何調用其他函數 瀏覽:441
重慶lol的伺服器雲主機 瀏覽:993
javaajax跨域 瀏覽:14
數控加工基礎編程尺寸 瀏覽:816
ssu命令是什麼意思 瀏覽:880
如何在伺服器里安裝mysql資料庫 瀏覽:827
python多進程定時 瀏覽:808