實現短信驗證碼注冊


今晚研究了下短信驗證碼注冊,很簡單,用的是  雲通訊的短信系統(收費的,不過有測試的api給我們做測試)。好了,不多說,進入正題。

 

1、收到到雲通訊短信系統注冊賬號,然后下載他們的封裝好的短信api接口代碼,解壓,然后找到CCPRestSDK.php文件和SendTemplateSMS.php文件,將其拉到根目錄文件夾里;

2、打開SendTemplateSMS.php文件,首先注意include_once('./CCPRestSDK.php'),千萬別包含錯路徑了,將雲通訊給的測試主賬號,主賬號Token,應用ID填到這三個變量中

 

3、創建sendMessage.html頁面(此處也沒做過多的安全過濾)

<!DOCTYPE HTML>
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>Index</title>
<script type="text/javascript" src="jquery.min.js"></script>
</head>
	
<body>
	<form action="reg.php" method="post">
		手機號:<input type="text" name="tel" id="tel"><br>
		驗證碼:<input type="text" name="verify" id=""><span><button id="btn" type="button">免費發送驗證碼</button></span><br>
		<input type="submit" name="" value="注冊">	
	</form>
	<script type="text/javascript">
		$('#btn').click(function(){
			var tel = $.trim($('#tel').val());
			$.post('SendTemplateSMS.php', {'tel':tel},function(res){
				if (res) {
					alert('發送成功');
				} else {
					alert('發送失敗');
				}
			});
		});
	</script>
</body>
</html>	

4、輸入手機號  點擊免費發送驗證碼  ,查看發送成功了

 

5、在SendTemplateSMS.php文件里已經寫好了手機號然后進行處理的代碼

    $tel = $_POST['tel'];
    $res = sendTemplateSMS($tel, array($verify, 2),"1");   //$verify是所包含的verify.php文件里動態生成的四位數字驗證碼變量,生成時已將驗證碼存於SESSION里 ,到提交驗證碼時用於驗證判斷
    if ($res) {
        echo '1';
    } else {
        echo '0';
    }

6、如果不出意外,手機會收到四位數字的驗證碼,然后輸入驗證碼,將其提交到reg.php文件

7、reg.php文件進行驗證碼正確與否進行邏輯驗證*(我這只是做實驗,所以沒做多少安全過濾處理)

<?php 
	session_start();

	$tel = $_POST['tel'];
	$ver = trim($_POST['verify']);

	if ( $ver == $_SESSION['verify']) {
		echo '驗證碼正確';
	} else {
		echo '驗證碼有誤';
	}

 ?>

8、結果輸出驗證碼正確

 

整個驗證碼驗證邏輯就這么簡單,短信驗證是要收錢的,這個有錢的公司一般都會用短信驗證,夠安全,而屌絲公司可以用郵箱驗證碼驗證,下次再寫個郵箱驗證碼驗證。

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM