So implementieren Sie die SMS-Verifizierung in PHP

coldplay.xixi
Freigeben: 2023-03-06 10:02:01
Original
3423 Leute haben es durchsucht

So implementiert PHP die SMS-Überprüfung: Greifen Sie zuerst auf den SMS-Dienst zu. Anschließend kommuniziert der Server mit dem SMS-Dienstanbieter und sendet die Sendeanforderung an im Mobiltelefon des Benutzers.

So implementieren Sie die SMS-Verifizierung in PHP

So implementieren Sie die SMS-Verifizierung in PHP:

Erstens die Grundidee der Implementierung der PHP-Funktion zur SMS-Verifizierung von Mobiltelefonen

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

2. Auf der Website fordert die Seite zum Senden von Informationen an

3. Der Server kommuniziert mit dem SMS-Dienstanbieter und übermittelt die Sendeanforderung

4. Der SMS-Dienstanbieter sendet die Informationen über den Betreiber an das Mobiltelefon des Benutzers

2. Startseite der SMS-Verifizierung der Mobiltelefonnummer Wirkungsrealisierung

So implementieren Sie die SMS-Verifizierung in PHP

<!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>
第三、调用短信服务器短信接口
笔者整理的页面是yanzhengma.php(具体根据服务商提供信息)
<?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);
?>
第四:提交表单信息时对短信验证码验证
//手机验证码开始
        session_start();
              $svalitel = $_SESSION[’mobilecode’];
              $vdcodetel = empty($vdcodetel) ? ’’ : strtolower(trim($vdcodetel));
            if(strtolower($vdcodetel)!=$svalitel || $svalitel==’’)
            {
                ResetVdValue();
                            //echo "Pageviews=".$vdcodetel;
                            ShowMsg("手机验证码错误!", ’-1’);
                exit();
            }
Nach dem Login kopieren

Wenn Sie mehr über das Programmierlernen erfahren möchten, achten Sie bitte auf die Spalte „PHP-Schulung“!

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

Verwandte Etiketten:
Quelle:php.cn
Erklärung dieser Website
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
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage
Über uns Haftungsausschluss Sitemap
Chinesische PHP-Website:Online-PHP-Schulung für das Gemeinwohl,Helfen Sie PHP-Lernenden, sich schnell weiterzuentwickeln!