http://www.qdexun.cn/jsp/news/shownews.do?method=GetqtnewsdetailAction&id=1677

下载php源代码

现在网站在建设网站时为了保证用户信息的真实性,往往会选择发短信给用户手机发验证码信息,只有通过验证的用户才可以注册,这样保证了用户的联系信息资料的100%的准确性 。今天笔者就跟大家分享一下如何实现php手机短信验证功能,希望对大家有所帮助。

第一、实现php手机短信验证功能的基本思路

1、要找到短信服务提供商,接入短信服务

2、在网站信息提交页面请求发送信息

3、服务器向短信服务提供商通信,提交发送请求

4、短信服务提供商通过运营商将信息发送到用户的手机中

二、手机号码短信验证前台页面效果实现

 <!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();

             }

如何实现php手机短信验证功能的更多相关文章

  1. 完整的Android手机短信验证源码

    短信验证功能我分两个模块来说,短信验证码的后台和代码实现短信验证码的功能. 一.短信验证码的后台      1.注册Mob账号:http://www.mob.com/#/login 2.注册成功之后, ...

  2. Springboot下实现阿里云短信验证功能(含代码)

    Springboot下实现阿里云短信验证功能 一 开通阿里云短信服务 阿里云官网注册登录 找到短信服务并开通 打开短信服务的管理台 在国内消息那栏中添加签名管理和模板管理(按照格式要求去写) 在右上角 ...

  3. Java调用WebService接口实现发送手机短信验证码功能,java 手机验证码,WebService接口调用

    近来由于项目需要,需要用到手机短信验证码的功能,其中最主要的是用到了第三方提供的短信平台接口WebService客户端接口,下面我把我在项目中用到的记录一下,以便给大家提供个思路,由于本人的文采有限, ...

  4. 四:java调接口实现发送手机短信验证码功能

    1.点击获取验证码之前的样式: 2.输入正确的手机号后点击获取验证码之后的样式: 3.如果手机号已经被注册的样式: 4.如果一个手机号一天发送超过3次就提示不能发送: 二:前台的注册页面的代码:reg ...

  5. ASP.NET MVC 手机短信验证

    本文来自于stoneniqiu的文章,原文地址 http://www.cnblogs.com/stoneniqiu/p/6234002.html 1.注册一个应用 得到AppKey 和 App Sec ...

  6. AndroidStudio短信验证功能收不到验证码

    http://mob.com/第三方接口获取地址: 登陆过后点我的后台即可上传,管理应用.需注意的是,即使验证不通过,只要整合了短信验证的Jar包,每天都有20条免费验证短信.现在的mob.com只支 ...

  7. 基于ThinkPHP与阿里大于的PHP短信验证功能

    https://blog.csdn.net/s371795639/article/details/53381274 PHP阿里大鱼短信验证 第一步 登陆阿里大于注册账号,在用户管理中心创建应用,确定A ...

  8. 利用twilio进行手机短信验证

    首先要注册 twilio 账号但是由于twilio人机验证用的是Goole所有注册需要FQ 完成后去免费获取15元使用 然后 pip install twilio 注册完成后会在个人首页显示你的免费金 ...

  9. sendsms短信验证功能实现代码

    <!DOCTYPE HTML> <html> <head> <meta charset="utf-8"> <meta name ...

随机推荐

  1. LibreOJ #6000. 「网络流 24 题」搭配飞行员 最大匹配

    #6000. 「网络流 24 题」搭配飞行员 内存限制:256 MiB时间限制:1000 ms标准输入输出 题目类型:传统评测方式:文本比较 上传者: 匿名 提交提交记录统计讨论测试数据   题目描述 ...

  2. libnet 库使用(一)

    该库的相关资料主要从源码包中获得(假设当前路径为源码包路径): ./sample 中有代码示例 ./doc/html    中html文件可以通过浏览器打开,参看函数定义 想要的基本上sample中都 ...

  3. Clover相关知识

    -f 重建驱动缓存 darkwake=4 有深度睡眠有关的设置,不懂 kext-dev-mode=1 启用第三方驱动,比较重要. dart=0 修复因开启 VT-d 导致系统启动时SMC五国错误,系统 ...

  4. 安装ADT和ADK到eclipse

    1.安装好JDK后,配置一下环境变量: 为了配置JDK的系统变量环境,我们需要设置三个系统变量,分别是JAVA_HOME,Path和CLASSPATH.下面是这三个变量的设置防范. JAVA_HOME ...

  5. VSFTPD虚拟用户配置

    转载:http://www.cnblogs.com/allenjin/archive/2011/12/03/2274542.html 以下操作验证OK!!!! VSFTPD虚拟用户配置 VSFTP = ...

  6. Windows 8.1 新控件和功能:

    http://msdn.microsoft.com/zh-cn/library/windows/apps/bg182878.aspx#five 将 XAML 树呈现为位图: 适用于 Windows 8 ...

  7. CollisionFlags

    CollisionFlags是CharactorController的返回值,表示碰撞的信息 Values: None Sides Above Below function Update () { v ...

  8. Ajax复习

    1.标准请求响应时浏览器的动作(同步操作) 1.1 浏览器请求什么资源,跟随显示什么资源 2.ajax:异步请求: 2.1 局部刷新,通过异步请求,请求到服务器资源数据后,通过脚本修改页面中部分内容 ...

  9. 50.IOS上传APP问题

    更新版本的时候遇到几个问题 1.ERROR ITMS-90535: "Unexpected CFBundleExecutable Key. The bundle at 'Payload/di ...

  10. ASP项目部署IIS7.5中遇到的问题

    我们大家都熟悉了tomcat服务器的部署,如果是一个ASP项目如何部署呢.这也是我在客户现场遇到的问题.ASP项目一般是用的系统组件IIS来部署项目.下面我讲一下自己在部署过程中遇到的问题. 如果在网 ...