Heim  >  Artikel  >  Backend-Entwicklung  >  So implementieren Sie die Mobiltelefonverifizierung in PHP

So implementieren Sie die Mobiltelefonverifizierung in PHP

藏色散人
藏色散人Original
2020-08-15 10:03:372403Durchsuche

So implementieren Sie die Mobiltelefonüberprüfung in PHP: Suchen Sie zuerst den SMS-Dienstanbieter und greifen Sie auf den SMS-Dienst zu. Fordern Sie dann das Senden von Informationen auf der Website-Informationsübermittlungsseite an. Lassen Sie dann den Server mit dem SMS-Dienstanbieter kommunizieren und senden Sie die Sendeanforderung ; endlich passieren Der Betreiber sendet die Informationen einfach an das Mobiltelefon des Benutzers.

So implementieren Sie die Mobiltelefonverifizierung in PHP

Empfohlen: „PHP-Video-Tutorial

php zur Implementierung der SMS-Verifizierungsfunktion für Mobiltelefone

Um die Authentizität von Benutzerinformationen beim Erstellen von Websites sicherzustellen, entscheiden sie sich heutzutage häufig für das Versenden von Text Nachrichten an die Mobiltelefoninformationen der Benutzer können sich nur Benutzer registrieren, die die Überprüfung bestanden haben, wodurch eine 100-prozentige Genauigkeit der Kontaktinformationen des Benutzers gewährleistet ist. Heute wird der Autor mit Ihnen teilen, wie Sie die PHP-Funktion zur SMS-Verifizierung von Mobiltelefonen implementieren. Ich hoffe, dass dies für alle hilfreich ist.

So implementieren Sie die Mobiltelefonverifizierung in PHP

Erstens die Grundidee der Implementierung der PHP-Handy-SMS-Verifizierungsfunktion

1 Um den SMS-Dienstanbieter zu finden, greifen Sie auf den SMS-Dienst zu

2 Übermittlungsseite

3. Der Server kommuniziert mit dem SMS-Dienstanbieter und sendet eine Sendeanforderung

4. Der SMS-Dienstanbieter sendet die Informationen über den SMS-Überprüfungs-Startseiteneffekt an das Mobiltelefon des Benutzers ist erreicht

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
    <title></title>
    <script src="js/jquery-1.4a2.min.js" type="text/javascript"></script>
              <script type="text/javascript">
                            /*-------------------------------------------*/
                            var InterValObj; //timer变量,控制时间
                            var count = 60; //间隔函数,1秒执行
                            var curCount;//当前剩余秒数
                            var code = ""; //验证码
                            var codeLength = 6;//验证码长度
                            function sendMessage() {
                                                 curCount = count;
                                                 var dealType; //验证方式
                            tel = $(’#tel’).val();
                  if(tel!=’’){
                       //验证手机有效性
                      var myreg = /^(((13[0-9]{1})|(15[0-9]{1})|(18[0-9]{1}))+\d{8})$/;
            if(!myreg.test($(’#tel’).val()))
          {
             alert(’请输入有效的手机号码!’);
             return false;
          }
                     tel = $(’#tel’).val();
                        //产生验证码
                            for (var i = 0; i < codeLength; i++) {
                                                        code += parseInt(Math.random() * 9).toString();
                                                 }
                                                 //设置button效果,开始计时
                                                        $("#btnSendCode").attr("disabled", "true");
                                                        $("#btnSendCode").val("请在" + curCount + "秒内输入验证码");
                                                        InterValObj = window.setInterval(SetRemainTime, 1000); //启动计时器,1秒执行一次
                            //向后台发送处理数据
                $.ajax({
                    type: "POST", //用POST方式传输
                    dataType: "text", //数据格式:JSON
                    url: ’yanzhengma.php’, //目标地址(根据实际地址)
                    data: "&tel=" + tel + "&code=" + code,
                    error: function (XMLHttpRequest, textStatus, errorThrown) { },
                    success: function (msg){ }
                });
                     }else{
                     alert(’请填写手机号码’);
                      }
           }
                            //timer处理函数
                     function SetRemainTime() {
                                   if (curCount == 0) {                
                                          window.clearInterval(InterValObj);//停止计时器
                                          $("#btnSendCode").removeAttr("disabled");//启用按钮
                                          $("#btnSendCode").val("重新发送验证码");
                                          code = ""; //清除验证码。如果不清除,过时间后,输入收到的验证码依然有效   
                                   }
                                   else {
                                          curCount--;
                                          $("#btnSendCode").val("请在" + curCount + "秒内输入验证码");
                                   }
                            }
    </script>
</head>
<body>
<input name="tel" id=tel type="text" />
        <input id="btnSendCode" type="button" value="发送验证码" onclick="sendMessage()" /></p>
</body>
</html>
So implementieren Sie die Mobiltelefonverifizierung in PHPDrittens. Rufen Sie die SMS-Server-SMS-Schnittstelle auf

Die vom Autor zusammengestellte Seite ist yanzhengma.php (insbesondere basierend auf den vom Dienstanbieter bereitgestellten Informationen)

<?php //提交短信
$post_data = array();
$post_data[’userid’] = 短信服务商提供ID;
$post_data[’account’] = ’短信服务商提供用户名’;
$post_data[’password’] = ’短信服务商提供密码’;
// Session保存路径
$sessSavePath = dirname(__FILE__)."/../data/sessions/";
if(is_writeable($sessSavePath) && is_readable($sessSavePath)){
       session_save_path($sessSavePath);
}
session_register(’mobliecode’);
$_SESSION[’mobilecode’] = $_POST["code"];
$content=’短信验证码:’.$_POST["code"].’【短信验证】’;
$post_data[’content’] = mb_convert_encoding($content,’utf-8’, ’gb2312’); //短信内容需要用urlencode编码下
$post_data[’mobile’] = $_POST["tel"];
$post_data[’sendtime’] = ’’; //不定时发送,值为0,定时发送,输入格式YYYYMMDDHHmmss的日期值
$url=’http://IP:8888/sms.aspx?action=send’;
$o=’’;
foreach ($post_data as $k=>$v)
{
  $o.="$k=".$v.’&’;
}
$post_data=substr($o,0,-1);
$ch = curl_init();
curl_setopt($ch, CURLOPT_POST, 1);
curl_setopt($ch, CURLOPT_HEADER, 0);
curl_setopt($ch, CURLOPT_URL,$url);
curl_setopt($ch, CURLOPT_POSTFIELDS, $post_data);
//curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1); //如果需要将结果直接返回到变量里,那加上这句。
$result = curl_exec($ch);
?>

Viertens: Überprüfen Sie den SMS-Bestätigungscode, wenn Senden der Formularinformationen

//手机验证码开始
        session_start();
              $svalitel = $_SESSION[’mobilecode’];
              $vdcodetel = empty($vdcodetel) ? ’’ : strtolower(trim($vdcodetel));
       
            if(strtolower($vdcodetel)!=$svalitel || $svalitel==’’)
            {
                ResetVdValue();
                            //echo "Pageviews=".$vdcodetel;
                            ShowMsg("手机验证码错误!", ’-1’);
                exit();
            }

Das obige ist der detaillierte Inhalt vonSo implementieren Sie die Mobiltelefonverifizierung in PHP. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn