PHP TP5框架 发送短信验证码
在实现用户注册、修改密码等验证情况时,经常需要用到发送手机验证码的功能,这里主要基于TP5框架,就云之讯、阿里云短信两个平台做下开发整理。
主要分三个部分介绍,1、云之迅后端;2、阿里云后端;3、前端调用。
一、云之讯短信
官网:http://www.ucpaas.com 开发手册:http://docs.ucpaas.com/doku.php 原生demo:http://www.php.cn/course/885.html
TP5框架开发: 1、下载云之讯SDK 包; 2、在TP5框架的think 中引入SDK 包; 3、在控制其中引入:
4、在控制器中写入发送方法:
5、前端点击事件调用方法(该博文后面有详细思路与代码)。
二、阿里云短信
后台、控制器具体操作参考 https://blog.csdn.net/list_yang/article/details/81626593
1、下载阿里云SDK 包 ,将api_adk复制到TP5 extend目录下,根据自己的需求可重命名,这里命名为alisms
2、在你项目应用公共(函数)文件common.php头部添加
3、将封装好的函数写入common.php中
/** @param $to 接收人* @param $model 短信模板ID* @param $code 短信验证码* @return json*/
function send_sms($to, $model, $code)
{require_once '../extend/alisms/vendor/autoload.php';Config::load(); //加载区域结点配置$config = Db::name('sms_config')->select();$accessKeyId = '对应自己的后台数据';$accessKeySecret = '对应自己的后台数据 ';$templateParam = $code;//短信模板IDswitch ($model) {case 1:$templateCode = $config[0]['sms_stencil_code']; // 注册登录短信验证码模板break;case 2:$templateCode = $config[1]['sms_stencil_code']; // 重置密码短信验证码模板break;}//短信API产品名(短信产品名固定,无需修改)$product = "Dysmsapi";//短信API产品域名(接口地址固定,无需修改)$domain = "dysmsapi.aliyuncs.com";//暂时不支持多Region(目前仅支持cn-hangzhou请勿修改)$region = "cn-hangzhou";// 初始化用户Profile实例$profile = DefaultProfile::getProfile($region, $accessKeyId, $accessKeySecret);// 增加服务结点DefaultProfile::addEndpoint("cn-hangzhou", "cn-hangzhou", $product, $domain);// 初始化AcsClient用于发起请求$acsClient = new DefaultAcsClient($profile);// 初始化SendSmsRequest实例用于设置发送短信的参数$request = new SendSmsRequest();// 必填,设置雉短信接收号码$request->setPhoneNumbers($to);// 必填,设置签名名称$request->setSignName('x网');// 必填,设置模板CODE$request->setTemplateCode($templateCode);// 可选,设置模板参数if ($templateParam) {$request->setTemplateParam(json_encode($templateParam));}//发起访问请求$acsResponse = $acsClient->getAcsResponse($request);//返回请求结果$result = json_decode(json_encode($acsResponse), true);// 具体返回值参考文档:https://help.aliyun.com/document_detail/55451.html?spm=a2c4g.11186623.6.563.YSe8FKreturn $result;
}
4、在控制器中调用方法 ,参数依次是:手机号码、短信模版、验证码
三、前端调用
PHP TP5框架 发送短信验证码相关推荐
- html5实现短信验证修改密码,thinkphp5如何调用云片接口实现发送短信验证码找回密码功能...
下面由thinkphp框架教程栏目给大家介绍thinkphp5如何调用云片接口实现发送短信验证码找回密码功能,希望对需要的朋友有所帮助! 思路: 1.用户输入手机号,请求获取短信验证码. 2.thin ...
- JAVA实现利用第三方平台发送短信验证码
前段时间自己做的一个小项目中,涉及到用短信验证码登录.注册的问题,之前没涉及过这一块,看了别人的博客其实也是似懂非懂的,现在就将自己做的利用第三方短信平台来发送验证码这个功能记下来. 本文以注册为例, ...
- JAVA利用第三方平台发送短信验证码
本文以注册为例,在SpringMVC+Spring+Mybatis框架的基础上完成该短信验证码功能. 发送短信验证码的原理是:随机生成一个6位数字,将该6位数字保存到session当中,客户端通过se ...
- 程序君带你畅聊发送短信验证码
现在不管是网站,还是app等互联网和移动互联网产品,绝大部分注册都是直接用手机号注册登录的,方式就是给手机发送短信验证码,然后把验证码填入,后台程序去匹配判断用户填入的验证码和发送的是否一致. 我最近 ...
- 手机异步发送短信验证码解决方案-Celery+redis
Celery介绍和使用 一.Celery介绍: 一个简单.灵活且可靠.处理大量消息的分布式系统,可以在一台或者多台机器上运行. Celery是一个功能完备即插即用的任务队列 单个 Celery 进程每 ...
- Go语言初识应用--容联云发送短信验证码、手机号注册
使用gin框架.gorm映射 所使用的连接容联云参考容联云官方文档,放置到utils中, gin项目结构根据自身需要,大题如下设置: utils--sms.go package main import ...
- JAVA利用第三方平台发送短信验证码。
前段时间自己做的一个小项目中,涉及到用短信验证码登录.注册的问题,之前没涉及过这一块,看了别人的博客其实也是似懂非懂的,现在就将自己做的利用第三方短信平台来发送验证码这个功能记下来. 本文以注册为例, ...
- go 实现发送短信验证码登录
现在大多数app或wap都实现了通过手机号获取验证码进行验证登录,下面来看下用go来实现手机号发送短信验证码登录的过程,基于的框架是gin . 首先是短信服务商的申请,比如腾讯云.阿里云.网易易盾等, ...
- TP6 腾讯云发送短信验证码配置详解
一.发送注册验证码代码实现 参考腾讯云文档 https://cloud.tencent.com/document/product/382/56058 1.通过composer安装 composer r ...
- 发送短信验证码的原理
本文以注册为例,在SpringMVC+Spring+Mybatis框架的基础上完成该短信验证码功能. 发送短信验证码的原理是:随机生成一个6位数字,将该6位数字保存到session当中,客户端通过se ...
最新文章
- python中forward的参数_如何将关键字参数传递给preforward钩子使用的forward?
- mysql学习之-密码管理(默认密码,修改密码,解决忘记密码)
- 网站优化该做好哪些细节才能更有力的吸引蜘蛛?
- java dfa_java 实现DFA 算法(理论百度搜索)
- Bookshelf 2 简单DFS
- android反射开启通知_Android中反射的简单应用
- 计组之总线:3、总线操作和定时(同步定时、异步定时、版同步通信、分离式通信)
- 加速Java应用开发速度3——单元/集成测试+CI
- CentOS 7 下安装 Redis
- 一波圣诞美陈设计素材,值得收藏哦!
- Motion and Optical Flow
- 问题:动态变换video标签source的src不起作用
- Linux自学之旅-软件包管理(软件包类型)
- spring boot 搭建博客
- 蓄水池采样算法的python实现_蓄水池抽样算法(Reservoir Sampling)
- 分享一下 软件测试面试历程和套路,真的很实在
- java 颜色板_java-RGB调色面板的实现(事件监听器之匿名内部类)
- SPI flash远程加载FPGA 应用
- 计算机毕业设计Java电子病历系统(源码+系统+mysql数据库+lw文档)
- 关于U盘文件无意损坏之后的解决方案
热门文章
- java跨站攻击_安全测试-跨站脚本攻击(xss)
- 论文发表都有哪些期刊
- hdu 5455 Fang Fang 2015沈阳网络赛 模拟
- 人类认识宇宙7次飞跃,中国贡献0《科学是什么》张双南研究员演讲全文(回复“科学是什么”下载PDF典藏版科普资料)
- MAC Photoshop标题栏不见了
- 【Net Core系列】(前言).net core学习笔记
- Windows 7下旋转屏幕的快捷键
- linux脚本两个分号,Linux Shell中各种分号和括号的用法总结
- 2021-11-08 RAID磁盘阵列的分级与结构 总结
- java修改ppt模板并导出