Laravel5中使用阿里大于(鱼)发送短信验证码
在做用户注册和个人中心的安全管理时,我实现借助第三方短信平台(阿里大于(鱼))在Laravel框架中进行手机验证的设置;阿里大于,是阿里通信旗下优质便捷的云通信服务平台,整合了三大运营商的通信能力,为开发者提供简洁易用的短信/语音API,三网合一通道,按需付费。
安装laravel阿里大于(鱼)服务
|
1
|
composer require iscms/alisms-for-laravel |
注册服务(config/app.php)
在文件中找到Providers数组,写入
|
1
|
iscms/Alisms/AlidayuServiceProvider::class |
生成阿里大于(鱼)配置文件(config文件夹)
|
1
|
php artisan vendor:publish |
修改阿里大于(鱼)配置文件(alisms.php)文件为:
|
1
2
3
4
5
|
<?php return [ 'KEY' =>env('ALISMS_KEY',null), 'SECRETKEY'=>env('ALISMS_SECRETKEY',null) ]; |
laravel根目录下找到.env文件,把阿里大鱼的App key和配置成全局变量(http://www.alidayu.com/)
|
1
2
|
ALISMS_KEY=234*****3ALISMS_SECRETKEY=**************** |
在您需要调用短信服务的控制器中,引用SMS
|
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
|
use iscms\Alisms\SendsmsPusher as Sms; public function __construct(Sms $sms) { $this->sms=$sms; } public function Alidayu(Request $request){ $phone = $request ->input('phone','1508*****55'); // 用户手机号,接收验证码 $name = '小张个人博客'; // 短信签名,可以在阿里大鱼的管理中心看到 $num = rand(100000, 999999); // 生成随机验证码 $smsParams = [ 'number' => "$num" ]; $content = json_encode($smsParams); // 转换成json格式的 $code = "SMS_63****73"; // 阿里大于(鱼)短信模板ID $request ->session()->put('alidayu',$num); // 存入session 后面做数据验证 $result=$this->sms->send($phone,$name,$content,$code); echo "验证码:".session('alidayu').'<br/>'; if(property_exists($request,'result')){ // 使用PHP函数json_encode方法将给定数组转化为JSON: return json_encode(['ResultData' => '成功', 'info' => '已发送']); }else{ return json_encode(['ResultData' => '失败', 'info' => '重复发送']); } |
参数说明:
$phone 手机号,用户输入的手机号
$name 短信签名,阿里大鱼申请的短信签名的名字
$content 替换短信模板中的变量,JSON字符串格式,所有值都是字符串,不能有整形
$code 阿里大鱼申请的短信模ID:SMS_39***4
阿里大于(鱼)短信模板(http://www.alidayu.com/)
|
1
2
3
|
模板名称: 身份验证 模板ID: SMS_39***4 *模板内容:验证码${code},您正在进行个人身份验证,打死不要告诉别人哦! |
那么里面存在着变量${code}需要替换成验证码,那么对应的$content 就应该为{code:"生成的验证码,如:123456"}
到这里Laravel5使用阿里大于(鱼)发送短信验证码应该没有问题了,开始发送短信吧~ ^_^
alisms-for-laravel:https://packagist.org/packages/iscms/alisms-for-laravel
Laravel5中使用阿里大于(鱼)发送短信验证码的更多相关文章
- 一百一十六: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版)
本文是我自己的亲身实践得来,喜欢的朋 友别忘了点个赞哦! 最近整理了一下利用阿里大于短信平台来实现发送短信功能. 闲话不多说,直接开始吧. 首先,要明白利用大于发送短信这件事是由两部分组成: 一.在阿 ...
- 利用阿里大于接口发短信(Delphi版)
阿里大于是阿里通信旗下产品,融合了三大运营商的通信能力,提供包括短信.语音.流量直充.私密专线.店铺手机号等个性化服务.每条四分五,价钱还算公道,经老农测试,响应速度非常快,基本上是秒到.官方文档提供 ...
- java 阿里云接口实现发送短信验证码
此刻自己做的小项目中,需要用到手机发送短信验证码实现注册功能,于是就去阿里云注册了账号,并实现随机发送验证码的功能 第一步:在阿里云官网登录注册 已有支付宝或淘宝的账号可以直接登录,最后需要实名认 ...
- 阿里云短信服务发送短信验证码(JAVA开发此功能)
开发此功能需注册阿里云账号,并开通短信服务(免费开通) 充值后,不会影响业务的正常使用!(因为发送验证类短信:1-10万范围的短信是0.045元/条).开发测试使用,充2块钱测试足够了 可参考阿里云官 ...
- android发送短信验证码并自动获取验证码填充文本框
android注册发送短信验证码并自动获取短信,截取数字验证码填充文本框. 一.接入短信平台 首先需要选择短信平台接入,这里使用的是榛子云短信平台(http://smsow.zhenzikj.com) ...
- java + maven 实现发送短信验证码功能
如何使用java + maven的项目环境发送短信验证码,本文使用的是榛子云短信 的接口. 1. 安装sdk 下载地址: http://smsow.zhenzikj.com/doc/sdk.html ...
- Java 实现手机发送短信验证码
Java 实现手机发送短信验证码 采用引入第三方工具的方式,网上查了半天,发现简单的实现方式便是注册一个中国网建的账号,新建账号的时候会附带赠几条免费短信,彩信 ,之后想要在使用就得花钱了.简单的操作 ...
随机推荐
- centos7 部署 ELK 日志系统
=============================================== 2017/12/24_第3次修改 ccb_warlock 更 ...
- 例子:韩顺平JavaScript----JS乌龟抓小鸡游戏
<!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8&quo ...
- MySQL数据库学习: 01 —— 数据库的概述
壹 概述 一 了解SQL 1.1 数据库基础 1.1.1 什么是数据库 数据库(database)保存有组织的数据的容器(通常是一个文件或一组文件). 易混淆:人们常常用“数据库”这个词语来代表他们使 ...
- 《深入理解java虚拟机》 - 需要一本书来融汇贯通你的经验(下)
上一章讲到了类的加载机制,主要有传统派的 双亲委派模型 和 现代主义激进派的 osgi 类加载器.接下来继续. 第8章 虚拟机字节码执行引擎 局部变量表,用于存储方法参数和方法内部定义的局部变量. 操 ...
- chrome调试工具高级不完整使用指南(实战一)
三.chrome调试工具实战 3.1 获取界面对应的HTML和修改样式 我们以博客园为例子来分析. 通过上面的操作就可以定位到对应的HTML代码 左侧菜单显示的就是当前指定元素层叠样式的一个情况 上面 ...
- WPF自定义Window样式(1)
1. 引言 WPF是制作界面的一大利器.最近在做一个项目,用的就是WPF.既然使用了WPF了,那么理所当然的,需要自定义窗体样式.所使用的代码是在网上查到的,遗憾的是,整理完毕后,再找那篇帖子却怎么也 ...
- 阿里mysql同步工具otter的docker镜像
https://github.com/dearplain/otter_manager https://github.com/dearplain/otter_node 本人开发的小巧docker镜像,根 ...
- ASP.NET 设计模式:设计模式和原则简述
设计模式的概念 设计模式是高层次的.抽象的解决方案模板.可以将这些模式视为解决方案的蓝本而不是解决方案本身.通常是通过重构自己的代码并将问题泛化来实现设计模式. 软件设计中常见的模式大体分为三类: 创 ...
- 【dfs】POJ2386湖计数
Lake Counting Time Limit: 1000MS Memory Limit: 65536K Total Submissions: 34735 Accepted: 17246 D ...
- JAVA读取和写入properties文件
1.读取 Properties prop = new Properties(); try { //这个getResourceAsStream方法就是把文件转为inputStream的方式 prop.l ...