点击 【获取验证码】 执行ajax

PHP:ajax执行的PHP -> balidate.php


$phone = $_GPC['uphone'];//发送的电话号码if(!preg_match("/^1[3|4|5|6|7|8|9][0-9]\d{4,8}$/",$phone)){$error = array('t' => false,'msg' => "请正确填写手机号码");echo json_encode($error);exit;
}else{include "SmsDemo.php";**引入发送短信的文件**可修改路径$alidayv_accesskeyid = 你的阿里大于alidayv_accesskeyid;//  $alidayv_accesskeyid$alidayv_accesskeysecret = 你的阿里大于alidayv_accesskeysecret;//  $alidayv_accesskeysecret$sms_mb = 你的阿里大于alidayv_muban;//发送短信的模板  $alidayv_muban$sms_qm =  你的阿里大于alidayv_qianming;//发送短信的签名 $alidayv_qianming$chars='0123456789';//此处为随机获取的验证码for($i=0;$i<6;$i++){$rand.=substr($chars,(mt_rand()%strlen($chars)),1);//验证码}//主代码$response = SmsDemo::sendSms($phone,$sms_mb,$sms_qm,$alidayv_accesskeyid,$alidayv_accesskeysecret,$rand);if($response->{'Message'} == 'OK'){//返回的信息 如果ok 那就ok了//进行其他的操作   --可选   --E$sql = '查询之前有没有此账号标识';$prarm = array(':uniacid' => $_W['uniacid'] ,':rid' => $rid);$old_phone = pdo_fetch($sql, $prarm);$now = time();//发送时间$overdue = $now+(60*5);//逾期时间  五分钟if(!empty($old_phone)){$update = array(***);pdo_update(***);}else{$insert = array(***);$result = pdo_insert(***);}//进行其他的操作   --可选   --S$return['t'] = true;$return['msg'] = '验证码发送成功';//返回的信息}else{$return['t'] = false;// $return['msg'] = $response['acsResponse']->{'Message'};//返回的信息$return['msg'] = '操作过于频繁或信息错误';//返回的信息}echo json_encode($return);exit;//返回ajax信息// echo "发送短信(sendSms)接口返回的结果:\n";// print_r($response);
}

发送短信执行PHP  -> SmsDemo.php

可下载原Demo    https://help.aliyun.com/document_detail/55359.html?spm=a2c4g.11186623.2.8.uoeeVe

暂时只修改了 SmsDeme.php中的部分代码 就直接只粘贴修改的了

/*** 取得AcsClient** @return DefaultAcsClient*/public static function getAcsClient($alidayv_accesskeyid,$alidayv_accesskeysecret) {//产品名称:云通信短信服务API产品,开发者无需替换$product = "Dysmsapi";//产品域名,开发者无需替换$domain = "dysmsapi.aliyuncs.com";// TODO 此处需要替换成开发者自己的AK (https://ak-console.aliyun.com/)$accessKeyId = $alidayv_accesskeyid; // AccessKeyId$accessKeySecret = $alidayv_accesskeysecret; // AccessKeySecret// 暂时不支持多Region$region = "cn-hangzhou";// 服务结点$endPointName = "cn-hangzhou";if(static::$acsClient == null) {//初始化acsClient,暂不支持region化$profile = DefaultProfile::getProfile($region, $accessKeyId, $accessKeySecret);// 增加服务结点DefaultProfile::addEndpoint($endPointName, $region, $product, $domain);// 初始化AcsClient用于发起请求static::$acsClient = new DefaultAcsClient($profile);}return static::$acsClient;}/*** 发送短信* @return stdClass*/public static function sendSms($phone,$sms_mb,$sms_qm,$alidayv_accesskeyid,$alidayv_accesskeysecret,$rand) {// 初始化SendSmsRequest实例用于设置发送短信的参数$request = new SendSmsRequest();//可选-启用https协议//$request->setProtocol("https");// 必填,设置短信接收号码$request->setPhoneNumbers($phone);// 必填,设置签名名称,应严格按"签名名称"填写,请参考: https://dysms.console.aliyun.com/dysms.htm#/develop/sign$request->setSignName($sms_qm);// 必填,设置模板CODE,应严格按"模板CODE"填写, 请参考: https://dysms.console.aliyun.com/dysms.htm#/develop/template$request->setTemplateCode($sms_mb);// 可选,设置模板参数, 假如模板中存在变量需要替换则为必填项$request->setTemplateParam(json_encode(array(  // 短信模板中字段的值"code"=>$rand,"product"=>"dsd"), JSON_UNESCAPED_UNICODE));// 可选,设置流水号$request->setOutId("yourOutId");// 选填,上行短信扩展码(扩展码字段控制在7位或以下,无特殊需求用户请忽略此字段)$request->setSmsUpExtendCode("1234567");// 发起访问请求$acsResponse = static::getAcsClient($alidayv_accesskeyid,$alidayv_accesskeysecret)->getAcsResponse($request);return $acsResponse;}

并且把阿里云官网下的原Demo 中的 api_ask 文件夹   放到和SmsDemo.php同级目录中  亦可修改路径

这样就ok了    纯手工写的

微擎 手机短信验证码验证相关推荐

  1. 安卓注册手机短信验证码验证的案例-02

    本部分我们将讲述如何实现手机注册验证码的代码 首先我们得有一个验证码的界面如下图所示: 代码如下: <?xml version="1.0" encoding="ut ...

  2. 安卓注册手机短信验证码验证的案例-01

    为了实现注册手机验证验证码 在网上百度了许久的注册手机验证码发送验证的案例要么是太过时要么就是不能用了 在此把我最近几天研究的成果发到这里希望 能够给遇到相同问题的人给予帮助 首先看看运行的效果图: ...

  3. java+vue3实现生成、验证图形验证码,和手机短信验证码

    一.效果图 二.实现生成图形验证码.校验验证码 1.实现后端接口 ①控制层代码 /*** 生成图片验证码* time用于保证每次可以刷新图片验证码*/@GetMapping("authCod ...

  4. Flask项目实战——6—(前台用户模型、前台登录注册、图形验证码、手机短信验证码、添加表单验证短信验证码请求)

    1.前台用户模型 前台用户模型定义 创建前台模型文件 apps/front/models.py # -*- encoding: utf-8 -*- """ @File : ...

  5. java语音验证码_Java实现发送手机短信语音验证功能代码实例

    这篇文章主要介绍了Java实现发送手机短信语音验证功能代码实例,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下 利用第三方平台可以实现发送手机短信验证 ...

  6. 手机短信验证码真的安全吗?

    手机的蓬勃发展,衍生出来众多行业,也让原本功能单一的手机号做出极大的改变.如今似乎每个人的手机号都绑定了或多或少的各种账号,手机绑定的东西越来越多,涉及到的重要的东西也越来越多,例如像银行卡绑定手机号 ...

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

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

  8. Atitit. 破解  拦截 绕过 网站 手机 短信 验证码  方式 v2 attilax 总结

    Atitit. 破解  拦截 绕过 网站 手机 短信 验证码  方式 v2 attilax 总结 1. 验证码的前世今生1 1.1. 第一代验证码 图片验证码1 1.2. 第二代验证码  用户操作 , ...

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

    为什么80%的码农都做不了架构师?>>>    一.样式示例: 二.前台的注册页面的代码:reg.jsp <%@ page language="java" ...

最新文章

  1. MyBatis框架学习:<select>节点中的resultType和resultMap属性
  2. python 基础——变量
  3. 急速JavaScript全栈教程
  4. Bitcoin 地址原理(3)公钥地址到比特币地址
  5. Scala集合:Set集合
  6. jdbc,mybatis,hibernate各自优缺点及区别
  7. ubuntu linux本地源,搭建Ubuntu 12.04 本地源
  8. C#获取本机IP地址字符串
  9. C语言变长数组 struct中char data[0]的用法
  10. 山东省计算机考试无法报名,山东省2017年9月全国计算机等级考试报名事项公告...
  11. Reverse原理背后的数学和魔幻艺术
  12. python读取yaml文件
  13. php 调试 500,利用WordPress开发者调试模式解决PHP500内部服务器错误 | 骤雨打新荷...
  14. 转 .NET中的异步编程(四)- IO完成端口以及FileStream.BeginRead
  15. 超漂亮的CSS3按钮制作教程分享
  16. 计算机绘图培训心得,AutoCAD2000软件学习心得总结工程
  17. Java进阶(一) Java高效读取大文件,占内存少
  18. 正态总体统计量的分布
  19. 小程序“成语猜题”部分答案
  20. 【前端学习】前端学习第二天:图片标签、音频标签及视频标签的用法说明

热门文章

  1. 仿支付宝首页应用管理(拖拽排序,添加删除)
  2. Android 获取Wifi列表详解(包含动态权限申请)
  3. java企业级开发框架
  4. Java开发框架选型对比:ruoyi与yudao框架
  5. jQuery面试笔试题汇总整理
  6. 2023最新SSM计算机毕业设计选题大全(附源码+LW)之java果蔬信息网站25890
  7. 计算机声音音乐小星星,生活的声音,敲出一首小星星
  8. 入门级显示器推荐,千元以内真的香!
  9. 小米红米OPPO一加等机型如何彻底屏蔽系统更新-防止自动更新ROOT丢失
  10. Javascript项目— 甜心教主《爱你》版 贪吃蛇游戏