PC 웹사이트를 구축할 때, 등록된 사용자가 SMS 인증을 사용해야 하는 기능을 접한 적이 있습니까? 또는 비밀번호 검색, 사용자 정보 확인 등을 수행할 수 있습니다! 오늘 ThinkPHP는 Alibaba Dayu SMS 확인을 통합한 ThinkPHP 기능을 제공합니다!
먼저 SMS를 보내는 원리를 이해해야 합니다. 실제로 우리가 사용하는 제3자는 통신 SMS 프로토콜을 사용하고 그 후 무작위로 생성된 인증 코드를 사용자의 휴대폰으로 보냅니다. 동시에 데이터베이스에 전송해야 합니다. 확인을 위해 해당 정보를 저장해야 합니다. 다음으로 이 기능을 단계별로 가르쳐 보겠습니다.
(1) SMS 메시지를 저장하기 위한 데이터 테이블을 구축하겠습니다
(2) 우리는 타사 클래스 파일을 사용할 것입니다. 물론 플랫폼에서 이 클래스 파일을 다운로드할 수 있습니다. 그런 다음 Thinkphp에 통합할 수 있습니다. 클래스 라이브러리에 네임스페이스를 추가할 때 선언하세요!
(3) 구성 파일에서 일부 보조 변수를 구성합니다
(4) 이 단계는 논리 연산 작성을 시작하는 단계입니다
$_POST['tel'] = "18522713XXX";
$tel = $_POST['tel'];
$w['tel'] = $tel;
$res1 = D("기록")->where($w)->find();
//하루에 3번만 기회가 주어집니다(인증)
$gap = 시간()-$res1['ctime'];
if($gap>=86400){
$data['시간'] = 0;
D("기록")->where($w)->저장($data);
}
$res1 = D("기록")->where($w)->find();
if($res1['time']>=3){
echo "SMS 제한!";
}그밖에 {
//랜덤으로 전송된 인증코드 값
$num = 랜드(1000, 9999);
//객체 인스턴스화
$ecd = new Ecd(C('url'), C('app_key'),
C('app_secret'), C('형식'));
//인증코드 SMS 보내기
//첫 번째 매개변수는 휴대폰 번호, 두 번째 매개변수는 템플릿 ID, 애플리케이션 관리에
가 있습니다.
템플릿 관리, 세 번째는 저희가 보내는 랜덤 인증코드, 세 번째는
입니다.
네번째는 주문번호인데 꼭 기재하지 않으셔도 됩니다
$res = $ecd->send_sms_code("$tel", '1', "$num", '');
$arr = json_decode($res, true);
if ($arr['result'] == 0 && $arr['msg'] == "성공") {
$w['tel'] = $tel;
$res1 = D("기록")->where($w)->find();
if ($res1) {
$data['vc'] = $num;
$data['시간'] = $res1['시간'] + 1;
$data['ctime'] = 시간();
$res2 = D("기록")->where($w)->저장($data);
if ($res2) {
echo "성공적으로 전송되었습니다";
} 그 밖의 {
echo "보내지 못했습니다.";
}
} 그 밖의 {
$data['tel'] = $tel;
$data['vc'] = $num;
$data['시간'] = 1;
$data['ctime'] = 시간();
$res3 = D("기록")->add($data);
if ($res3) {
echo "성공적으로 전송되었습니다";
} 그 밖의 {
echo "보내지 못했습니다.";
}
}
}
}
(5) 문자를 받고, 사용자가 제출하면 사용자의 휴대폰 번호를 기준으로 해당 인증번호를 확인하는 것입니다!
친구들이 주의해야 할 또 다른 점은 Alibaba Big Fish의 인증되지 않은 사용자는 화이트리스트에 있는 사용자에게만 문자 메시지를 보낼 수 있다는 것입니다. 따라서 전송 성공을 보장하려면 화이트리스트를 구성해야 합니다! 또한, 처음 신청하시면 테스트해볼 수 있는 100가지 무료 아이템이 있습니다!