本方法基于Thinkphp,用到了jquery.validate,当然具体项目中也可以不用,下面我就按步骤来写下来。

1.准备

1.登陆
http://www.alidayu.com,进入网址
用淘宝号登陆即可
2.进入管理中心

3.配置
(1)配置短信签名

(2)配置短信模板

建好后,需要的东西就是APPkey APPsecret


还可以进行测试

2.数据库

3.后端

  • 引入
    下载阿里大于类文件,放在/Thinkphp/Library/org/Alidayu(文件夹要大写,坑过自己,部署到服务器后出问题)

  • 通用类里

  // 生成短信验证码public function createSMSCode($length = 4){$min = pow(10 , ($length - 1));$max = pow(10, $length) - 1;return rand($min, $max);}//发送验证码public function send_phone($phone){$code=$this->createSMSCode($length = 4);import('Org.Alidayu.top.TopClient');import('Org.Alidayu.top.ResultSet');import('Org.Alidayu.top.RequestCheckUtil');import('Org.Alidayu.top.TopLogger');import('Org.Alidayu.top.request.AlibabaAliqinFcSmsNumSendRequest');$c = new \TopClient;$appkey="你的appkey";$secret="你的secret;$c ->appkey = $appkey ;$c ->secretKey = $secret ;$req = new \AlibabaAliqinFcSmsNumSendRequest;$req ->setExtend( "" );$req ->setSmsType( "normal" );$req ->setSmsFreeSignName( "阿尚测试" );$req ->setSmsParam( "{name:'客户',code:'".$code."',time:'5分钟'}" );$req ->setRecNum( $phone);$req ->setSmsTemplateCode( "SMS_71300157" );$resp = $c ->execute( $req );$this->sendMsgResult($resp,$phone,$code);}//验证手机号是否发送成功  前端用ajax,发送成功则提示倒计时,如50秒后可以重新发送private function sendMsgResult($resp,$phone,$code){if ($resp->result->success && !$resp->result->code) {$data['phone']=$phone;$data['code']=$code;$data['send_time']=time();$result=M("code")->add($data);if($result){$data="发送成功";}else{$data="发送失败";}} else if ($resp->code || $resp->msg == "Remote service error") {$data="发送失败";} else {$data="发送失败";}return $data;}// 验证短信验证码是否有效,前端用jquery validate的remotepublic function checkSMSCode(){$mobile = $_POST['mobile'];$code = $_POST['code'];$nowTimeStr = date('Y-m-d H:i:s');$smscodeObj = M("code")->where("mobile='$mobile'")->find();if($smscodeObj){$smsCodeTimeStr = $smscodeObj['send_time'];$recordCode = $smscodeObj['code'];$flag = $this->checkTime($nowTimeStr, $smsCodeTimeStr);if($flag&&$code==$recordCode){echo true;}else{echo false;}}}
  • 用的类里,我是放在注册类里调用

//发送短信,调用BaseController里的方法,因为其他模块也要用到这方法

  public function send_message(){$phone=I("post.phone");//data返回失败 但不影响使用$data=$this->send_phone($phone);$this->ajaxReturn($data,"JSON");}

4.前台 ajax部分功能已经具备,还待完善

//发送手机ajax
function send_message() {if($("#phone input").valid()){var phone=$("#phone input").val();$.post("{:U('Register/send_message')}","phone="+phone,function(data){});    $("#send_message").html("发送成功");$("#send_message").css("background-color","#2f9cff");}}

thinkphp下阿里大于短信验证相关推荐

  1. JAVA对接阿里大于短信验证

    本文介绍的是JAVA的阿里大于短信验证对接,网上好多版本都是旧版本,我自己写完之后觉得应该更新一下,现在记录一下,怕以后忘记,申请步骤忽略 首先,去阿里大于下载SDK 第一步,就是安装阿里大于的SDK ...

  2. 阿里大于短信发送调用

    阿里大于使用文档 Sdk 所需sdk文件:taobao-sdk-java-auto_1455552377940-20160607.jar 下载地址:https://www.alidayu.com/ce ...

  3. Java 阿里大于短信功能

    最近做了阿里大于短信的功能,记录一下 创建应用,并记录下应用的KeyId 及 KeySecret 下载sdk 准备完毕,直接上代码 随便弄个  controller @ApiOperation(&qu ...

  4. 阿里大于短信——发送手机验证码

    使用阿里大于的短信服务需要先去开通相应服务,具体过程:https://www.jb51.net/article/171902.htm,https://www.cnblogs.com/shubs/p/1 ...

  5. 阿里大于短信服务API Demo及使用说明

    关于短信验证,本人使用的是阿里大于的服务平台.不啰嗦废话,直接上步骤: 首先需要在阿里大于短信服务国内消息中注册个性签名及短信模板.这里需费些时间,只要注册成功,便可以使用验证功能了.下面是短信模板截 ...

  6. 阿里云短信验证解决方案(java版)(redis存储)

    阿里云短信验证解决方案(java版)(redis存储) 参考文章: (1)阿里云短信验证解决方案(java版)(redis存储) (2)https://www.cnblogs.com/Amos-Tur ...

  7. springboot整合阿里云短信验证(无需签名和模板,通过阿里云api测试实现短信验证)

    一.开通阿里云短信服务 开通步骤如下图所示 开通完成后,进入阿里云短信验证首页,点击国内消息 一般来说,在短信验证时需要签名管理和模板管理,但是签名管理需要备案或者上线服务,所以对于没有备案和上线应用 ...

  8. 最新阿里大于短信配置接口-2020全网最详细版-划水小老虎

    最新阿里大于短信配置接口-全网最详细版 一,登录阿里云,做对接前准备 1,配置签名 2,配置模板 3,配置acessKey 二,下载阿里大于的SDK 三,发送短信 1,解压文件,放入TP5框架中 2, ...

  9. 阿里云短信验证服务详细基础教程

    阿里云短信验证服务 1. 注册一个阿里云的帐号 2. 在搜索栏搜索短信服务 3. 点击免费开通 4.开通之后点击管理控制台 5. 获取AccessKey 6. 创建AccessKey并保存,后面会用到 ...

最新文章

  1. 四象限法推导lm曲线_【老王讲放射】四象限理论
  2. 青岛能源所提出微生物组相似度新算法DMS
  3. Atitit.upnp SSDP 查找nas的原理与实现java php c#.net c++
  4. JDK 9:模块系统状态的重点
  5. OSChina 周四乱弹 —— 要成立复仇者联盟了,来报名
  6. android高仿天天动听,Android仿天天动听歌曲自动滚动view
  7. java摘要_java 摘要
  8. (二)马尔可夫决策过程
  9. 前端工程师都会喜欢的5个JavaScript库
  10. pycharm关闭git
  11. 无法启用插件,因为它引起了一个致命错误(fatal error)。
  12. python爬虫十二种方法_Python爬虫的N种姿势
  13. intouch负值显示0_17、定位的盒子居中显示
  14. iPhone设备字体详解
  15. mysql yog的安装流程_Mysql与sqlyog的安装教程
  16. Crashing Balloon
  17. 天啦噜!我竟然见到了超级网红区块链本人
  18. 【数字IC第一步】Linux系统安装(含常用IC软件)
  19. 世嘉土星和世嘉MD手柄定义,如何自制土星和MD手柄
  20. 清除IBM小型机橙色告警灯方法

热门文章

  1. 奶粉中的php是什么,奶粉小知识:奶粉中的OPO起到什么作用?
  2. asp+access
  3. Java中字符编码问题和中文占几个字节的问题(ASCII Unicode UTF-8 )
  4. nuc8i3+磐镭x显卡坞在ubuntu16.04下安装2060super驱动以及CUDA环境
  5. “关键数据元素”(CDE)-如何确定数据治理的优先级
  6. 微信摇一摇羊年运势签实现?
  7. 达内筑巢,引国际学员培训深造
  8. 立体角-高斯定理札记
  9. ZUUL2 使用场景
  10. Packet Tracer 配置PAP双向认证