如何实现php手机短信验证功能

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

下载php源代码

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

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

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

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

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

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

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

  1 <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
  2
  3 <html xmlns="http://www.w3.org/1999/xhtml">
  4
  5 <head>
  6
  7     <title></title>
  8
  9     <script src="js/jquery-1.4a2.min.js" type="text/javascript"></script>
 10
 11               <script type="text/javascript">
 12
 13                             /*-------------------------------------------*/
 14
 15                             var InterValObj; //timer变量,控制时间
 16
 17                             var count = 60; //间隔函数,1秒执行
 18
 19                             var curCount;//当前剩余秒数
 20
 21                             var code = ""; //验证码
 22
 23                             var codeLength = 6;//验证码长度
 24
 25                             function sendMessage() {
 26
 27                                                  curCount = count;
 28
 29                                                  var dealType; //验证方式
 30
 31                             tel = $(’#tel’).val();
 32
 33                   if(tel!=’’){
 34
 35                        //验证手机有效性
 36
 37                       var myreg = /^(((13[0-9]{1})|(15[0-9]{1})|(18[0-9]{1}))+\d{8})$/;
 38
 39             if(!myreg.test($(’#tel’).val()))
 40
 41           {
 42
 43              alert(’请输入有效的手机号码!’);
 44
 45              return false;
 46
 47           }
 48
 49                      tel = $(’#tel’).val();
 50
 51                         //产生验证码
 52
 53                             for (var i = 0; i < codeLength; i++) {
 54
 55                                                         code += parseInt(Math.random() * 9).toString();
 56
 57                                                  }
 58
 59                                                  //设置button效果,开始计时
 60
 61                                                         $("#btnSendCode").attr("disabled", "true");
 62
 63                                                         $("#btnSendCode").val("请在" + curCount + "秒内输入验证码");
 64
 65                                                         InterValObj = window.setInterval(SetRemainTime, 1000); //启动计时器,1秒执行一次
 66
 67                             //向后台发送处理数据
 68
 69                 $.ajax({
 70
 71                     type: "POST", //用POST方式传输
 72
 73                     dataType: "text", //数据格式:JSON
 74
 75                     url: ’yanzhengma.php’, //目标地址(根据实际地址)
 76
 77                     data: "&tel=" + tel + "&code=" + code,
 78
 79                     error: function (XMLHttpRequest, textStatus, errorThrown) { },
 80
 81                     success: function (msg){ }
 82
 83                 });
 84
 85                      }else{
 86
 87                      alert(’请填写手机号码’);
 88
 89                       }
 90
 91            }
 92
 93                             //timer处理函数
 94
 95                      function SetRemainTime() {
 96
 97                                    if (curCount == 0) {
 98
 99                                           window.clearInterval(InterValObj);//停止计时器
100
101                                           $("#btnSendCode").removeAttr("disabled");//启用按钮
102
103                                           $("#btnSendCode").val("重新发送验证码");
104
105                                           code = ""; //清除验证码。如果不清除,过时间后,输入收到的验证码依然有效
106
107                                    }
108
109                                    else {
110
111                                           curCount--;
112
113                                           $("#btnSendCode").val("请在" + curCount + "秒内输入验证码");
114
115                                    }
116
117                             }
118
119     </script>
120
121 </head>
122
123 <body>
124
125 <input name="tel" id=tel type="text" />
126
127         <input id="btnSendCode" type="button" value="发送验证码" onclick="sendMessage()" /></p>
128
129 </body>
130
131 </html>
132
133 第三、调用短信服务器短信接口
134
135 笔者整理的页面是yanzhengma.php(具体根据服务商提供信息)
136
137 <?php //提交短信
138
139 $post_data = array();
140
141 $post_data[’userid’] = 短信服务商提供ID;
142
143 $post_data[’account’] = ’短信服务商提供用户名’;
144
145 $post_data[’password’] = ’短信服务商提供密码’;
146
147 // Session保存路径
148
149 $sessSavePath = dirname(__FILE__)."/../data/sessions/";
150
151 if(is_writeable($sessSavePath) && is_readable($sessSavePath)){
152
153        session_save_path($sessSavePath);
154
155 }
156
157 session_register(’mobliecode’);
158
159 $_SESSION[’mobilecode’] = $_POST["code"];
160
161 $content=’短信验证码:’.$_POST["code"].’【短信验证】’;
162
163 $post_data[’content’] = mb_convert_encoding($content,’utf-8’, ’gb2312’); //短信内容需要用urlencode编码下
164
165 $post_data[’mobile’] = $_POST["tel"];
166
167 $post_data[’sendtime’] = ’’; //不定时发送,值为0,定时发送,输入格式YYYYMMDDHHmmss的日期值
168
169 $url=’http://IP:8888/sms.aspx?action=send’;
170
171 $o=’’;
172
173 foreach ($post_data as $k=>$v)
174
175 {
176
177   $o.="$k=".$v.’&’;
178
179 }
180
181 $post_data=substr($o,0,-1);
182
183 $ch = curl_init();
184
185 curl_setopt($ch, CURLOPT_POST, 1);
186
187 curl_setopt($ch, CURLOPT_HEADER, 0);
188
189 curl_setopt($ch, CURLOPT_URL,$url);
190
191 curl_setopt($ch, CURLOPT_POSTFIELDS, $post_data);
192
193 //curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1); //如果需要将结果直接返回到变量里,那加上这句。
194
195 $result = curl_exec($ch);
196
197 ?>
198
199 第四:提交表单信息时对短信验证码验证
200
201 //手机验证码开始
202
203         session_start();
204
205               $svalitel = $_SESSION[’mobilecode’];
206
207               $vdcodetel = empty($vdcodetel) ? ’’ : strtolower(trim($vdcodetel));
208
209
210
211             if(strtolower($vdcodetel)!=$svalitel || $svalitel==’’)
212
213             {
214
215                 ResetVdValue();
216
217                             //echo "Pageviews=".$vdcodetel;
218
219                             ShowMsg("手机验证码错误!", ’-1’);
220
221                 exit();
222
223             }
时间: 2024-08-06 11:58:18

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

[Android]手机短信验证功能

介绍 短信验证功能大家都很熟悉了.在很多地方都能见到,注册新用户或者短息验证支付等.短信验证利用短信验证码来注册会员,大大降低了非法注册,很大程度上提高了用户账户的安全性. 目前市面上已经有了很多提供短信验证的服务商,有收费的,也有免费的.如果是个人的开发者,用免费的是最划算的了!下面我就介绍一个免费的短信验证平台---Mob.com Mob平台提供的短信验证功能可以实现快速的验证和匹配通讯录好友功能,并且能为每个app每天提供10000条免费短信验证.很多开发者都想在自己的app中集成短信验证

php梦网科技短信平台手机短信验证功能实现

1.表单传输页面 <?php session_start(); error_reporting(E_ALL & ~E_NOTICE); ?> <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <html xmlns="http:

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

短信验证功能我分两个模块来说,短信验证码的后台和代码实现短信验证码的功能. 一.短信验证码的后台      1.注册Mob账号:http://www.mob.com/#/login 2.注册成功之后,点击“头像”,进入“产品中心”,进入如下界面点击第二项添加应用.添加完应用几秒后再次进入第二项. 3.在第二步之后我们会得到两个重要的参数App key和App Secret,用于客户端和服务端的链接,创建好应用之后还会得到两个菜单选项“验证记录”和“短信设置”,“验证记录”是说我们进行短信验证之后

手机短信验证对用户有什么样的威胁呢?

本以为有了手机短信验证应该很安全了,没想到银行卡里的钱还是能被刷走,关键是一条短信都没收到.到底是怎么回事? 如今手机绑定最主要的表现方式就是通过短信验证码来证明自己的身份,验证的方式极其简单便捷,当人们在享受这份简单便捷的验证方式时,不由也为短信验证码来验证身份信息的方式产生了不信任感. 如果说安全的话,没有什么是真正的安全的,短信验证码也不是最安全的验证身份的方法.通过短信验证身份之所以能够在几年内疯长,无外乎是通过短信进行二次验证时,是成本最低,最简单便捷的验证方式,另一点是因为手机普及的

手机短信验证

摘记 实现流程: 手机短信验证实现的流程是:用户注册会员的时候,先输入自己的手机号码,点击获取验证码:您的网站随机生成一个数字作为验证码,同时调用验证码短信接口给这个用户发送一条短信:用户收到短信后填写验证码,你再跟你生成的数字进行比对,如果一致,那么说明用户填写的手机号码是正确的,验证成功. 手机验证短信设计与代码实现 手机验证短信设计与代码实现 >1. 时效限制: [5-10min] >2. 使用次数限制: 1次 >3. IP次数限制: 防止恶意刷手机验证码短信 >4. 手机号

关于手机短信验证服务

浏览了一下找到三家不错的: 1)云通讯(yuntongxun.com) 感觉比较正规,文档也很全面,功能全,支持语音.短信6分每条套餐可便宜点.不过模板短信验证门槛较高,个人不能用,必须要验证为公司,速度感觉不是很理想但听说用的人多,应该会比较稳定. 2)云片网(yunpian.com) 相对于云通讯感觉略有点底气不足,不过门槛较低,可以个人使用,最低可以55的包(1000条),文档较全不过较云通讯略逊色,速度还可以,可以做条件不足时(无需企业认证)的第一选择. 3)Mob官网(mob.com)

佰新网络科技广州分公司手机短信验证流程设计

1 验证是验证什么?为什么要验证 验证所存在的需求场景,就类似于人之间打招呼的场景.首先打招呼前,需要让机器明白即将作出一系列指令的主 体,即要打招呼的是"人"而不是"机器",所以其验证 目的之一是:对操作者是否为人的身份验证. 当机器知道了这就是要打招呼的对象后,为了满足整个行 为的顺利完成,得需要让机器知道"你"是否有打招呼的 意愿,即验证目的之二是:对操作者是否本人意愿操作的 验证.所有的验证实质都是在满足以上的目的. 02 流程可视化设计

sendsms短信验证功能实现代码

<!DOCTYPE HTML> <html> <head> <meta charset="utf-8"> <meta name="viewport" content="maximum-scale=1.0,minimum-scale=0,width=device-width,initial-scale=1.0" /> <title>APP</title> <l

第一次发博,发个简单的Java程序发送手机短信验证

最近在准备一个项目,想的登录时候用手机验证,就通过上网查阅了一下手机验证的实现方法,原来超级简单,下面将一步一步介绍. 1.去中国网建注册一个账号密码,首次注册送五条免费短信和3条免费彩信.具体的网址是 http://www.smschinese.cn/api.shtml 2.注册完成之后进去查看给你的短信秘钥 3.有了这个秘钥就超级简单了,导入jar包,下面的代码第一个基本不用该,直接粘贴,第二个改成自己的信息就可以了 1 package duanxinyanzheng; 2 3 4 impo