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. 第五周Java学习总结(补)

    第五周java学习内容(补) 学习内容: File类方法的操作 public String getName() public boolean canRead() public boolean canW ...

  2. ceres入门学习

    转载自https://www.jianshu.com/p/e5b03cf22c80 Ceres solver 是谷歌开发的一款用于非线性优化的库,在谷歌的开源激光雷达slam项目cartographe ...

  3. idea+tomcat 端口占用

    ntelliJ IDEA和Tomcat整合注意事项(转) 这两天一直在学习IDEA这个开发工具,今天再整合tomcat的时候遇到了问题,运行时总是报错,说是8080端口被占用,把我就搞的郁闷了,我就尝 ...

  4. 【转】mysql查看表空间占用情况

    ${database} 为数据库的名称 /*1.查看索引 (1)单位是GB*/ SELECT CONCAT(ROUND(SUM(index_length)/(**), ), ' GB') AS 'To ...

  5. hdu-1042(大数+万进制)

    题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=1042 参考文章:https://blog.csdn.net/tigerisland45/article ...

  6. openstack之安全组管理

    命令概览 (nova-api)[root@cc07 /]# nova help|grep secgroup add-secgroup Add a Security Group to a server. ...

  7. Linux centos 连接网络

    1.在安装过程中不要选择网络适配器,其他正常执行 2.编辑 [root@zb ~]# vi /etc/sysconfig/network-scripts/ifcfg-eth0 一般安装完软件,打开et ...

  8. highChart图表

    Highcharts 是一个用纯JavaScript编写的一个图表库, 能够很简单便捷的在web网站或是web应用程序添加有交互性的图表,并且免费提供给个人学习.个人网站和非商业用途使用.HighCh ...

  9. font-style字体设置

    用到一些字体找起来很麻烦,扒了一些 未测试 HTML,CSS,font-family:中文字体的英文名称 宋体 SimSun黑体 SimHei微软雅黑 Microsoft YaHei微软正黑体 Mic ...

  10. SQL常用增删改查

    转 http://www.cnblogs.com/daxueshan/p/6687521.html 1增 1.1[插入单行]insert [into] <表名> (列名) values ( ...