tp框架融入短信发送和验证
tp框架融入短信发送和验证
- 页面布局
<form action="" method="post" id="reg_form"><div class="phone"><input type="text" name="phone" placeholder="请输入您的手机" maxlength="11" autocomplete="off" required="required"><div class="getcode">获取验证码</div></div><div class="phonecode"><input type="text" name="code" placeholder="请输入验证码" autocomplete="off"></div><div class="password"><input type="password" name="password" placeholder="请输入密码(最少8位 数字+字母)" autocomplete="off"></div><button type="submit">立即注册</button></form>
- js文件
//发送验证码$('.getcode').click(function () {var reg=/^1[3|4|5|7|8][0-9]\d{4,8}$/; //手机号正则var mobile = $('input[name=phone]').val(); if(mobile==null || mobile=="" || !reg.exec(mobile)){alert("联系电话有误,请重新填写");}else{var time = 5;var timer = setInterval(function () {time--;$('.getcode').html(time + 's');$('.getcode').css({'pointer-events':'none','background':'#f5a440','color':'white','border':'0.3vw solid #f5a440'})if(time == 0){clearInterval(timer)$('.getcode').removeAttr('style');$('.getcode').html('获取验证码');time = time}},1000)$.ajax({type: "POST",//方法类型dataType:"json",url:"{:url('smscode/SmsCode/sendSms')}",data:{mobile:mobile},})}
- PHP响应
到阿里云上下载sdkDemo 地址:https://help.aliyun.com/document_detail/55359.html?spm=a2c4g.11186623.6.674.71de1886jEfohz 因为我用是php语言,所以在这里我就下载php轻量的就可以了 下面我就直接上代码了(因为功能需求只需要把SignatureHelper.php文件放到项目当中)
/*** 发送验证码* 这是下载的sdk里的sendSms.php文件中的内容,直接把相应的代码赋值过去就可以了* 需要对如下的参数进行传值 $accessKeyId $accessKeySecret * $params["PhoneNumbers"] $params["SignName"] $params["TemplateCode"]*/public function sendSms(){$mobile = $this->request->param('mobile'); //接收前台传过来的手机号$params = array (); // *** 需用户填写部分 ***// fixme 必填:是否启用https$security = false;// fixme 必填: 请参阅 https://ak-console.aliyun.com/ 取得您的AK信息$accessKeyId = "your access key id";$accessKeySecret = "your access key secret";// fixme 必填: 短信接收号码$params["PhoneNumbers"] = mobile; //将前台传来的手机号传值// fixme 必填: 短信签名,应严格按"签名名称"填写,请参考: https://dysms.console.aliyun.com/dysms.htm#/develop/sign$params["SignName"] = "短信签名";// fixme 必填: 短信模板Code,应严格按"模板CODE"填写, 请参考: https://dysms.console.aliyun.com/dysms.htm#/develop/template$params["TemplateCode"] = "SMS_0000001";// fixme 可选: 设置模板参数, 假如模板中存在变量需要替换则为必填项$code = $this->getCode(); //调用getcode方法生成验证码$params['TemplateParam'] = Array ("code" => "12345", //因为在创建模板的时候只有这一个参数,所以我们在这里只要一个参数);// fixme 可选: 设置发送短信流水号//$params['OutId'] = "12345";// fixme 可选: 上行短信扩展码, 扩展码字段控制在7位或以下,无特殊需求用户请忽略此字段//$params['SmsUpExtendCode'] = "1234567";// *** 需用户填写部分结束, 以下代码若无必要无需更改 ***if(!empty($params["TemplateParam"]) && is_array($params["TemplateParam"])) {$params["TemplateParam"] = json_encode($params["TemplateParam"], JSON_UNESCAPED_UNICODE);}// 初始化SignatureHelper实例用于设置参数,签名以及发送请求$helper = new SignatureHelper(); // 此处可能会抛出异常,注意catch$content = $helper->request($accessKeyId,$accessKeySecret,"dysmsapi.aliyuncs.com",array_merge($params, array("RegionId" => "cn-hangzhou","Action" => "SendSms","Version" => "2017-05-25",)),$security);if($content->Code == 'OK' && $content->Message == 'OK'){echo json_encode(['status'=>1,'msg'=>'验证码发送成功']);}else{echo json_encode(['status'=>0,'msg'=>'手机号不正确']);}}/*** 生成随机数字的验证码* @param int $len 生成的位数* @return string 返回的验证码*/private function getCode($len = 6){return str_pad(mt_rand(1,pow(10,$len)-1),$len,0,STR_PAD_LEFT);}
这样验证码发送功能就ok了 第一次写个有点地方可能写的不是很完善,请见谅。(请给身为小白的我多一些鼓励,谢谢大佬们了)
tp框架融入短信发送和验证相关推荐
- 图片验证码、阿里云短信发送和验证的逻辑
图片验证码的生成 1.django 缓存设置 1.1 安装Django缓存模块 pip install django-redis==4.12.1 1.2 syl/settings.py中配置缓存 # ...
- 短信发送验证码实现验证
写在前面 你们好,我是小庄.很高兴能和你们一起学习短信发送功能.如果您对Java感兴趣的话可关注我的动态. 写博文是一种习惯,在这过程中能够梳理和巩固知识点. 实现思路:前台将手机号码发送到后 ...
- django框架中嵌入容联云sdk实现短信发送接口
1.注册容联云账号,主要是为了获取如下参数 添加测试手机号 2.关于sdk和用法可参考Demo示例,demo下载在最上面Demo下载 3.在自己的项目中导入需用到的模块 4.更改配置为自己申请的应用配 ...
- nodejs 实现手机注册短信发送验证(腾讯云)
目录 前言 提前准备 nodejs使用 依赖包 代码 效果 尾言 前言 前段时间介绍了如何实现邮箱的验证,相比手机验证,更好一些,可以验证用户的手机号,防止别人恶意注册,本文介绍如何在nodejs实现 ...
- php 短信验证 云之讯,python3.7实现云之讯、聚合短信平台的短信发送功能
1.云之讯平台数据返回Json格式: {'reason': '操作成功', 'result': {'sid': '17209241456456455454', 'fee': 1, 'count': 1 ...
- IDM短信发送接口设计说明
对于大多数企业而言,信息化建设的主要目的是通过信息化驱动业务,实现业务升级与优化,主要有三种体现形式:建设业务系统,实现业务流程标准化.便捷化:整合业务系统和数据,形成数据资产:业务数据呈现,直观展现 ...
- Tp5 实现短信发送及页面倒计时
为什么使用短信: 场景:通常在使用手机号注册时需要发送短信验证码,在修改密码等敏感操作时也需要验证手机号发送短信验证码. 目的:验证用户的身份是否本人 平台:百度Apistore数据平台.聚合数据平台 ...
- jeecg 手机注册 阿里云短信API 【 阿里云短信发送验证码 平台配置和项目中使用】
文章目录 jeecg 项目效果展示 短息通知页面入口 代码中调用短信api 配置和代码 API中的重要参数配置项: 阿里控制台注册 注册签名 注册短信模板 阿里云短信发送验证码配置和项目使用 je ...
- 短信发送:webservice调用第三方接口发送短信
1 原博客地址:http://blog.csdn.net/sxdtzhaoxinguo/article/details/34437591 2 demo地址:http://download.csdn.n ...
最新文章
- 官网快速搭建spring boot 项目
- MarkDown 公式书写
- c语言中二维数组怎么,c语言中什么是二维数组
- java代码中加log_Java LogManager addLogger()用法及代码示例
- eclipse 导出jar 没有主清单属性的解决方法
- Java中的静态方法、类方法、成员方法、构造方法、非静态方法,各方法的定义以及个方法的功能详解大全
- Using Flume要点
- 数字电子技术基础 目录
- 事件驱动架构在 vivo 内容平台的实践
- Vue Mapbox-GL 在地图中增加图标、线条、标记点击弹窗、地图平移
- 【从Java转C#】第八章:委托、lambda、事件
- 增强现实(AR)、虚拟现实(VR)、混合现实(MR)之间有什么区别?
- es中should查询使用注意
- 军工企业信息化建设周涛_乘“云”之势,浪潮ERP布局军工企业云
- 1080p60Hz需要传多少数据,怎么计算显示器带宽?(二)
- 数值计算方法——matlab实现
- Qt信号槽机制-传递自定义数据类型(qRegisterMetaType)
- 匕首3D打印尝试及刷Ender-3 V2固件刷写修复启动问题
- 快速打开Android离线文档
- 遵义市南白一中2021高考成绩查询,遵义市南白中学2021年排名