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

2022-08-09 社会 128阅读

  现在网站在建设网站时为了保证用户信息的真实性,往往会选择发短信给用户手机发验证码信息,只有通过验证的用户才可以注册,这样保证了用户的联系信息资料的100%的准确性 。

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

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

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

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

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


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

  

  

  

  

  

  

  

  

  

  

  

  


  第三、调用短信服务器短信接口

  整理的页面是yanzhengma.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();

  }

声明:你问我答网所有作品(图文、音视频)均由用户自行上传分享,仅供网友学习交流。若您的权利被侵害,请联系fangmu6661024@163.com