阿里大于验证码发送 (ThinkPhp框架)
1.登录平台 阿里大于
2.登陆之后我们可以看到资费,使用场景等,在进入正题之前我们需要一些准备工作,首先我们先了解下短信的请求参数,在这里我们需要注意的是sms_param这个参数,在接下来我们申请短信模板的时候会用到
3.相应参数,对待返回值我们记住最基本的true or false 即可
4.了解完公共参数,接下来我们进入正题,首先我们得配置短信签名和配置短信模板,短信签名出现在短信开头,注意短信模板,这里将用到上文提示的sms_param参数
5.同时,在其网站上下载好SDK,下图展示的是我的存放位置,使用的是thinkphp框架,其他的开发环境文件的存放位置在官网上有详细说明
6.接下来是项目后台的配置,其中appkey,secret在你完成上述申请之后可以在个人管理中心查看
class DuanXinController extends Controller {
public function index()
{
$appkey = "...";//你的App key
$secret = "...";//你的App Secret:
import('Org.taobao.top.TopClient');
import('Org.taobao.top.ResultSet');
import('Org.taobao.top.RequestCheckUtil');
import('Org.taobao.top.TopLogger');
import('Org.taobao.top.request.AlibabaAliqinFcSmsNumSendRequest');
//将需要的类引入,并且将文件名改为原文件名.class.php的形式
$c = new \TopClient;
$c->appkey = $appkey;
$c->secretKey = $secret;
$req = new \AlibabaAliqinFcSmsNumSendRequest;
$req->setExtend("123456");//确定发给的是哪个用户,参数为用户id
$req->setSmsType("normal");
session_start();
$verifycode = strval(rand(1000,9999));
$_SESSION['verifycode'] = $verifycode;
$userStatus=0;
/*
进入阿里大鱼的管理中心找到短信签名管理,输入已存在签名的名称,这里是身份验证。
*/
$req->setSmsFreeSignName("山水优品");
$smsParams = [
'code' => $verifycode,
'product' => '...'
];
$req->setSmsParam(json_encode($smsParams));
//$req->setSmsParam("{'code':numfour() 'product':'山水优品'}");
//这里设定的是发送的短信内容:验证码${code},您正在进行${product}身份验证,打死不要告诉别人哦!”
$req->setRecNum(...);//参数为用户的手机号码
$req->setSmsTemplateCode("SMS_16670740");
$resp = $c->execute($req);
//var_dump($resp);这里是用来打印返回结果
if($resp->result->success)
{
$userStatus=1;
}
else
{
$userStatus=0;
}
echo $userStatus;
}
// 检查验证码是否正确
function checkcode(){
session_start();
$verifycode = $_SESSION['verifycode'];
$inputcode = I('post.code');
$checkstatus = 0;
if ($inputcode == $verifycode) {
$checkstatus = 1;
}else{
$checkstatus = 0;
}
echo $checkstatus;
}
7.下面的代码是项目前台的Ajax请求部分:
send.onclick = function() {
var oldTel = document.getElementById('oldTel').value;
var that = this;
var times = 60;
this.disabled = true;
timer1 = setInterval(function() {
times--;
that.value = times + "秒后重试";
if (times <= 0) {
that.disabled = false;
that.value = "发送验证码";
clearInterval(timer1);
times = 60;
}
}, 1000);
$.ajax({
url: "{:U('DuanXin/index')}",
type: "post",
data: {
'name':oldTel,
},
success: function(responseText, status, xhr) {
if (status == 'success') {
if (responseText == 1) {
return true;
} else {
return false;
}
} else {
return false;
}
},
error: function() {
return false;
},
timeout: 1000 * 60,
});
}
这里的按钮加入了一个简单的倒计时功能,即点击发送后60s内无法点击按钮;
阿里大于验证码发送 (ThinkPhp框架)的更多相关文章
- Laravel5中使用阿里大于(鱼)发送短信验证码
在做用户注册和个人中心的安全管理时,我实现借助第三方短信平台(阿里大于(鱼))在Laravel框架中进行手机验证的设置:阿里大于,是阿里通信旗下优质便捷的云通信服务平台,整合了三大运营商的通信能力,为 ...
- thinkphp 5.0整合阿里大于验证码短信发送接口,含完整模型验证实例DEMO
为大家分享一个阿里大于短信发送接口: 首先创建一个发送模型(Send.php): <?php namespace app\index\model; use think\Validate; cla ...
- laravel+阿里大于实现发送验证码短信
一.短信服务使用阿里大于提供的短信接口 阿里大于官方网站上的接入流程: 在阿里大于申请接口后,需要做以下操作: 申请签名 申请短信模板 创建Accesskey,可以通过权限最大的Accesskey创建 ...
- 一百一十六:CMS系统之使用阿里大于sdk发送短信验证码
阿里大于短信平台:https://dysms.console.aliyun.com/dysms.htm#/overview 使用教程:https://blog.csdn.net/qq103189393 ...
- 使用阿里大于平台发送短信验证码java代码实现
待续..网站app后台还未完成,不能添加签名,短信不能正常发送. Tip: https://help.aliyun.com/document_detail/55284.html?spm=5176.sm ...
- 利用阿里大于实现发送短信(JAVA版)
本文是我自己的亲身实践得来,喜欢的朋 友别忘了点个赞哦! 最近整理了一下利用阿里大于短信平台来实现发送短信功能. 闲话不多说,直接开始吧. 首先,要明白利用大于发送短信这件事是由两部分组成: 一.在阿 ...
- NetCore 阿里大于发送短信
使用阿里大于API发送短信,但阿里没有提供NetCore 的API,自己看了下源码重写了发短信这个部分 public class MessageSender { private readonly st ...
- asp.net mvc 接入阿里大于 短信验证码发送
项目前端页面实例 第1步:登录阿里大于控制台 https://www.alidayu.com/center/user/account?spm=0.0.0.0.P1K1jG 第2步:创建应用 第3步:配 ...
- Python 阿里大于发送手机验证码
1.安装阿里大于的包 pip install top 2.事例脚本 # -*- coding: utf-8 -*- import top.api appkey = '2353xxxx' secret ...
随机推荐
- The Greate Wall 相关网络知识(一)域名劫持
什么叫做DNS? DNS(Domain Name System,域名系统),因特网上作为域名和IP地址相互映射的一个分布式数据库,能够使用户更方便的访问互联网,而不用去记住能够被机器直接读取的IP数串 ...
- [AHOI2015 Junior] [Vijos P1943] 上学路上 【容斥+组合数】
题目链接:Vijos - P1943 题目分析 这是 AHOI 普及组的题目,然而我并不会做= =弱到不行= = 首先,从 (x, 0) 到 (0, y) 的最短路,一定是只能向左走和向上走,那么用组 ...
- 深入了解一下PYTHON中关于SOCKETSERVER的模块-A
有了这块知识,应该对各类WEB框架有更好的理解吧..FLASK,DJANGO,WEBPY.... #!/usr/bin/env python from BaseHTTPServer import HT ...
- windows 版Tomcat 7.0的配置
http://hi.baidu.com/liguohei/item/d6ea23ff904f98753d198b24 测试成功,截图 ~~~~~~~~~~~~~~~ 一.安装JDK 1.7 1.添加环 ...
- 【 POJ - 3801】Crazy Circuits(有源汇、上下界最小流)
Description You’ve just built a circuit board for your new robot, and now you need to power it. Your ...
- 集群-Session解决方案
在集群中session安全和同步是个最大的问题,下面是收集到的几种session同步的方案,希望能通过分析其各自的优劣找出其适应的场景. 1. 客户端cookie加密 简单,高效.比较好的方法是自己采 ...
- 【CF】509E Pretty Song
数学规律题,很容易计算的.以初始测试数据3为例.Str Y I S V O W E L--------------------------Len 1 2 3 4 | 5 6 7 8Y ...
- [LeetCode#253] Meeting Rooms II
Problem: Given an array of meeting time intervals consisting of start and end times [[s1,e1],[s2,e2] ...
- Light OJ 1032 - Fast Bit Calculations(数位DP)
题目大意: 一个数字把他看成二进制数字,数字里又会一些相邻的1,问从0到n至间所有相邻1的总和是多少? 分解成2进制数字,然后数位DP就行了. ======================== ...
- 游戏开发Camera之Cinematic Camera-深度
人的视觉系统是二维的,它通过生理和心理的暗示来感知图像的深度,在现实世界中视觉系统会自动用深度线索depth cue来确定对象之间的距离游戏画面也是二维的,用x,y轴来定义,画面深度用z轴来定义,可以 ...