在做用户注册和个人中心的安全管理时,我实现借助第三方短信平台(阿里大于(鱼))在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*****3
ALISMS_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中使用阿里大于(鱼)发送短信验证码的更多相关文章

  1. 一百一十六:CMS系统之使用阿里大于sdk发送短信验证码

    阿里大于短信平台:https://dysms.console.aliyun.com/dysms.htm#/overview 使用教程:https://blog.csdn.net/qq103189393 ...

  2. 使用阿里大于平台发送短信验证码java代码实现

    待续..网站app后台还未完成,不能添加签名,短信不能正常发送. Tip: https://help.aliyun.com/document_detail/55284.html?spm=5176.sm ...

  3. 利用阿里大于实现发送短信(JAVA版)

    本文是我自己的亲身实践得来,喜欢的朋 友别忘了点个赞哦! 最近整理了一下利用阿里大于短信平台来实现发送短信功能. 闲话不多说,直接开始吧. 首先,要明白利用大于发送短信这件事是由两部分组成: 一.在阿 ...

  4. 利用阿里大于接口发短信(Delphi版)

    阿里大于是阿里通信旗下产品,融合了三大运营商的通信能力,提供包括短信.语音.流量直充.私密专线.店铺手机号等个性化服务.每条四分五,价钱还算公道,经老农测试,响应速度非常快,基本上是秒到.官方文档提供 ...

  5. java 阿里云接口实现发送短信验证码

    此刻自己做的小项目中,需要用到手机发送短信验证码实现注册功能,于是就去阿里云注册了账号,并实现随机发送验证码的功能 第一步:在阿里云官网登录注册   已有支付宝或淘宝的账号可以直接登录,最后需要实名认 ...

  6. 阿里云短信服务发送短信验证码(JAVA开发此功能)

    开发此功能需注册阿里云账号,并开通短信服务(免费开通) 充值后,不会影响业务的正常使用!(因为发送验证类短信:1-10万范围的短信是0.045元/条).开发测试使用,充2块钱测试足够了 可参考阿里云官 ...

  7. android发送短信验证码并自动获取验证码填充文本框

    android注册发送短信验证码并自动获取短信,截取数字验证码填充文本框. 一.接入短信平台 首先需要选择短信平台接入,这里使用的是榛子云短信平台(http://smsow.zhenzikj.com) ...

  8. java + maven 实现发送短信验证码功能

    如何使用java + maven的项目环境发送短信验证码,本文使用的是榛子云短信 的接口. 1. 安装sdk 下载地址: http://smsow.zhenzikj.com/doc/sdk.html ...

  9. Java 实现手机发送短信验证码

    Java 实现手机发送短信验证码 采用引入第三方工具的方式,网上查了半天,发现简单的实现方式便是注册一个中国网建的账号,新建账号的时候会附带赠几条免费短信,彩信 ,之后想要在使用就得花钱了.简单的操作 ...

随机推荐

  1. locust 参数,数据详解

    参数    说明-h, –help    查看帮助-H HOST, –host=HOST    指定被测试的主机,采用以格式:http://10.21.32.33–web-host=WEB_HOST  ...

  2. python2 与python3的变化

    1 写文件如果是bytes类型的话,打开文件 open参数设置为wb 2 python2 默认包import是相对路径,python3是绝对路径 3 python3的dict没有has_key方法,用 ...

  3. 【原创】java NIO selector 学习笔记 一

    能力有限,仅仅是自己看源码的一些笔记. 主要介绍 可选通道 和 选择器 选择键(SelectableChannel  和 Selector SelectionKey) 选择器(Selector) 选择 ...

  4. Linux 使用 cp 命令强制覆盖功能

    Q:我们平常在Linux中使用 cp 命令时,会发现将一个目录中文件复制到另一个目录具有相同文件名称时, 即使添加了 -rf 参数强制覆盖复制时,系统仍然会提示让你一个个的手工输入 y 确认复制,令人 ...

  5. 前端之 CSS🤖

    css (层叠样式表) : 对html标签的渲染和布局 查找 (选择器) 操作标签 (属性操作) 导入用 link 标签,后面的href就用你的文件路径就好 写css文件,要单独写到一个文件里面去 推 ...

  6. NET控件Designer架构设计

    总体结构 Designer总体上由三大部分组成:View,ViewModel和Model,这个结构借鉴了流行的MVVM模式.这三部分的职责分工是: View 负责把ViewModel以图形的方式展现出 ...

  7. Class StatusesTableSeeder does not exist 如何解决

    Class StatusesTableSeeder does not exist错误如何解决 Laravel 5.* 执行seeder命令出现错误的解决方法     最近在使用Laravel开发一个项 ...

  8. mysql自连接求累计金额

  9. linux下一键安装redis并设置为后台进程及开机启动

    1.下载适合你的版本的redis(下载页面https://redis.io/download),我下载的是4.0.6版本 wget http://download.redis.io/releases/ ...

  10. Windows和Linux下换行的不同

    因为测试IM会用到一些账号,于是写了一段代码从数据库里把需要的用户名.密码和手机号都一一取了出来,然后放到NotePad++中做进一步的处理. 取用户名.手机号和密码的代码如下: public cla ...