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. swift 要点

    swift 基本语法注意点 通常来说,编程语言教程中的第一个程序应该在屏幕上打印“Hello, world”.在 Swift 中,可以用一行代码实现 print("Hello, world! ...

  2. Convert 实现 pdf 和图片格式互转

    pdf 转换为图片 (注意:pdf 默认转换的是透明背景,如果转为jpg格式必须添加背景色.-background white -flatten) convert -background white ...

  3. 论坛:一对一关联映射/单向关联/两个类间,可以有两个(多个)关联关系/content为大文本类型/

    >>单向:只写一端的映射属性,另一端不写(有一端用不着);双向:两端都写映射属性 >>一对一关联有两类:一类基于主键的(一般不使用),一类基于外键的(重点学习): 外键:是一个 ...

  4. c++ boost 苹果内购 IAP验证

    // 1111.cpp: 定义控制台应用程序的入口点. // #include "stdafx.h" #include <cstdlib> #include <i ...

  5. 【UI测试】--菜单位置

  6. jvm运行机制和volatile关键字详解

    参考https://www.cnblogs.com/dolphin0520/p/3920373.html JVM启动流程 1.java虚拟机启动的命令是通过java +xxx(类名,这个类中要有mai ...

  7. service层代码相互调用, 导致spring循环依赖,设计上的优化

    管理员创建用户需要发送激活邮件, 而发送激活邮件的时候需要判断发件人是不是合法的用户, 因此设计到一个循环依赖的问题 //UserService @Service class UserService{ ...

  8. 进入快速通道的委托(深入理解c#)

    1.方法组:所有的名称相同的重载方法合在一起就成为一个方法组. 2.协变性和逆变性: 协变性指的是——泛型类型参数可以从一个派生类隐式转化为基类. 逆变性指的是——泛型类型参数可以从一个基类隐式转化为 ...

  9. vsftpd只能连接不能上传文件问题

    Centos7 记得很清楚,vsftpd安装后,不需要配置,本地用户就可以正常使用(登录.上传.下载) 这次配的就是不行,另起了个虚拟机,装了下,就是不需要配置,但是在一台机上,就是不行,只能登录,下 ...

  10. Win7 VS2013环境编译boost1_58_0

    备忘,发现好多不常用的东西不记笔记再想用要重新花时间找,所以试着开始记笔记,写入博客吧. 首先去官网下最新的版本 http://www.boost.org/ 写本文时boost最新版本为1_58_0, ...