TP3.2 配置最新的阿里大于sdk
TP3.2 配置最新的阿里大于sdk
最近公司买了阿里云的阿里大于短信验证 ,这里记录下本人接入短信验证的过程和心得。
大家是不是一开始都是和本人一样直接去百度下怎么有没有现成的demo 或者是封装好了的类库
就像是 :http://www.thinkphp.cn/topic/46029.html
但是兴高采烈的接入好了 , 最后会发现 ISV 什么开发这权限不足 , 其实后台都是好了的 , 根本就不是权限不足, 而是搬家了
以前的接口是有taobao 的,就像https://api.alidayu.com/apitools/apiTools.htm?spm=a3142.7395905.4.29.z1Hkms&catId=20711&apiId=25450&apiName=alibaba.aliqin.fc.sms.num.send&scopeId=#
没错这个是过期了的 但是官方并没有说明这种情况,这就很坑了。
这里作者建议 大家直接去官方下载最新的sdk:
https://help.aliyun.com/document_detail/55451.html?spm=5176.doc55288.6.556.sIOJUV
下载好了直接配置demo

这里配置

这里务必看清楚,那些参数签名什么的,不然就是各种报错, 你懂的,很难受
如果你的demo 成功的话 那么封装就变得简单了
/*
* 阿里大鱼手机验证码发送函数
*
*
*/ function sendphone($m)
{
Vendor('Alidayu.api_demo.SmsDemo');
header('Content-Type: text/plain; charset=utf-8');
$demo = new \SmsDemo(
C('Alidayu.Appkey'),
C('Alidayu.SecretKey')
); // echo "SmsDemo::sendSms\n";
$randStr = str_shuffle('1234567890');
$code = substr($randStr,0,4);
$_SESSION['sendphonecode']=$code;
$_SESSION['expire']=1800;
$response = $demo->sendSms(
C('Alidayu.SignName'), // 短信签名
C('Alidayu.SmsTemplate'), // 短信模板编号
$m, // 短信接收者
Array( // 短信模板中字段的值
"code"=> $code,
"product"=>"dsd"
),
"666"
);
// echo "SmsDemo::queryDetails\n";
$response = $demo->queryDetails(
"1234567890", // phoneNumbers 电话号码
date('Ymd',time()), // sendDate 发送时间
10, // pageSize 分页大小
1, // currentPage 当前页码
"abcd" // bizId 短信发送流水号,选填
); return $code;
}
下面的参数
$demo->queryDetails
具体怎么使用 , 我也是不清楚的,如果有知道的可以告诉下,谢谢。
到在下一步就是获取和验证了
/*
* 发送验证码
* @param mobile purpose 手机号 状态
* @return 0 1
*
*/
public function setphone()
{
$mobile = '15779675455';
// $mobile = I('post.mobile');
// $purpose = I('post.purpose');
$purpose = '1';
if(isset($mobile) && empty($mobile)){
error_r('手机号码不能为空!');
}
if(isset($purpose) && empty($purpose)){
error_r('验证类型不能为空!');
}
$a = sendphone( $mobile );
$yn = (empty($a))? '0' : '1' ;
$data = array(
'phone'=>$mobile,
'purpose'=>$purpose,
'status'=>$yn,
'add_time'=>time(),
'time_date'=>date('Y-m-d',time())
);
M('phonecode')->add($data);
if(empty($a)){
error_r('发送失败');
}else{
success_s('发送成功');
}
} /*
* 验证验证码是否正确
* @param mobile 手机号
* @return 0 1
*
*/
public function thancode()
{
$phone = I('post.phone');
$a = $_SESSION['sendphonecode'];
if($phone == $a)
{
success_s('验证码正确');
}else{
error_r('验证码错误');
}
}
到了这里这功能就基本封装了好
TP3.2 配置最新的阿里大于sdk的更多相关文章
- 一百一十六:CMS系统之使用阿里大于sdk发送短信验证码
阿里大于短信平台:https://dysms.console.aliyun.com/dysms.htm#/overview 使用教程:https://blog.csdn.net/qq103189393 ...
- Python2-Django配置阿里大于的短信验证码接口
1.短信发送开发指南地址:https://help.aliyun.com/document_detail/55491.html?spm=a2c4g.11186623.6.568.l5zTwH 2.SD ...
- .NET Core阿里大于短信发送SDK修改以及使用
一.问题背景 继上次七牛云SDK的问题之后(参考:http://www.cnblogs.com/OMango/p/8447480.html),在发送短信的功能上又出现了问题,我们短信服务使用的是阿里大 ...
- asp.net mvc短信接口调用——阿里大于API开发心得
互联网上有许多公司提供短信接口服务,诸如网易云信.阿里大于等等.我在自己项目里需要使用到短信服务起到通知作用,实际开发周期三天,完成配置.开发和使用,总的说,阿里大于提供的接口易于开发,非常的方便,短 ...
- 阿里大于验证码发送 (ThinkPhp框架)
1.登录平台 阿里大于2.登陆之后我们可以看到资费,使用场景等,在进入正题之前我们需要一些准备工作,首先我们先了解下短信的请求参数,在这里我们需要注意的是sms_param这个参数,在接下来我们申请短 ...
- Thinkphp5使用阿里大于短信验证
现在各种平台登录验证很多时候会使用短信验证,快捷安全,有很多平台提供短信验证服务,相比较而言阿里大于价格比较便宜,快捷,所以在在千锋日常的php教学中多以此为例来说明短信验证的使用.下面我们在tp5中 ...
- laravel+阿里大于实现发送验证码短信
一.短信服务使用阿里大于提供的短信接口 阿里大于官方网站上的接入流程: 在阿里大于申请接口后,需要做以下操作: 申请签名 申请短信模板 创建Accesskey,可以通过权限最大的Accesskey创建 ...
- 利用阿里大于实现发送短信(JAVA版)
本文是我自己的亲身实践得来,喜欢的朋 友别忘了点个赞哦! 最近整理了一下利用阿里大于短信平台来实现发送短信功能. 闲话不多说,直接开始吧. 首先,要明白利用大于发送短信这件事是由两部分组成: 一.在阿 ...
- 基于ThinkPHP与阿里大于的PHP短信验证功能
https://blog.csdn.net/s371795639/article/details/53381274 PHP阿里大鱼短信验证 第一步 登陆阿里大于注册账号,在用户管理中心创建应用,确定A ...
随机推荐
- MySql三大范式与数据库设计和表创建常用语句
[数据库设计的三大范式] 1.第一范式(1NF First Normal Fromate):数据表中的每一列(字段),必须是不可拆分的最小单元.也就是确保每一列的原子性. 例如: userInfo: ...
- document.getElementById("searchForm").submit is not a function
document.getElementById("searchForm").submit is not a function在用userForm.submit() 提交表单的时候, ...
- sublime text 3双击选择无法选择$符号
创建/Data/Packages/User/PHP.sublime-settings文件,内容为"word_separators": "./\\()\"'-:, ...
- shell中source与sh区别
shell中使用source conf.sh,是直接运行conf.sh的命令,不创建子shell,类似与html中include,而sh是则创建子shell, 子shell里面 的变量父shell无法 ...
- php7 安装yar 生成docker镜像
Docker包含三个概念:(1)远程仓库即远程镜像库所有镜像的聚集地(不可进入操作).(2)本地镜像即从远程仓库拉取过来的镜像(3)运行起来的本地镜像叫做容器(分层的可操作)Docker使用:1.首先 ...
- 【Android Developers Training】 42. 从另一台设备接收文件
注:本文翻译自Google官方的Android Developers Training文档,译者技术一般,由于喜爱安卓而产生了翻译的念头,纯属个人兴趣爱好. 原文链接:http://developer ...
- Example002定时打开窗口
<!--实例002定时打开窗口--> <script> // 3秒后弹出窗口: function time() { window.open("index.html&q ...
- java登录时数据库验证账户密码-mysql
一:连接数据库: package login; import java.sql.*; public class conmysql { String drivername="com.mysql ...
- Linux之正则表达式
正则表达式与通配符的区别: 最常应用正则表达式的命令是grep(egrep),sed,awk. 正则表达式和通配符有本质区别,正则表达式用来找:[文件]内容,文本,字符串.一般只有三剑客支持.通配符用 ...
- 原生js 实现 Ajax 跨浏览器使用
js 实现 Ajax 跨浏览器使用 var CommonUtils = {}; (function(CommonUtils){ //---- Ajax module ---- CommonUtils. ...