laravel 5.5 登录验证码 captcha 引入

laravel 5.5 登录验证码 captcha 引入

https://blog.csdn.net/u013372487/article/details/79461730

前提: 开启Laravel 的用户认证功能

1、安装 Captcha

安装 Captcha+

$ composer require mews/captcha

配置

/config/app.php
'providers' => [
    // ...
    Mews\Captcha\CaptchaServiceProvider::class,
]
'aliases' => [
    // ...
    'Captcha' => Mews\Captcha\Facades\Captcha::class,
]

自定义配置
$ php artisan vendor:publish

运行之后,就可以在 config/captcha.php 中进行配置了。这里使用默认配置。

 

 

2、使用 Captcha 为 auth 组件添加验证码功能

在登录视图中增加验证码的选项,可以加到密码和 remember me 之间

/resources/views/auth/login.blade.php
<div class="form-group">
  <label for="captcha" class="col-md-4 control-label">验证码</label>
      <div class="form-group">
          <div class="col-md-3">
              <input id="captcha"  class="form-control" type="captcha" name="captcha" value="{
    { old('captcha')  }}" required>
              @if($errors->has('captcha'))
                  <div class="col-md-12">
                      <p class="text-danger text-left"><strong>{
    {$errors->first('captcha')}}</strong></p>
                  </div>
              @endif
          </div>
          <div class="col-md-4">
              <img src="{
    {captcha_src()}}" style="cursor: pointer" οnclick="this.src='{
    {captcha_src()}}'+Math.random()">
          </div>
      </div>
  </div>

 

 

重写AuthController 登录验证方法,并自定义提示信息:
修改 App\Http\Controllers\Auth\LoginController

首先要引入如下代码:
use Illuminate\Http\Request;

重写validateLogin方法:

在验证里面加入验证码的规则验证即可
/**
 * DESC: 重写 AuthenticatesUsers 登录验证方法,并自定义提示信息;
 * 原验证方法 Illuminate\Foundation\Auth\AuthenticatesUsers
 * @param Request $request
 */
protected function validateLogin(Request $request){
    $this->validate($request, [
        $this->username() => 'required|string',
        'password' => 'required|string',
        'captcha' => 'required|captcha',
    ],[
        'captcha.required' => '请填写验证码',
        'captcha.captcha' => '验证码错误',
    ]);
}

 

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/113015.html原文链接:https://javaforall.net

(0)
上一篇 2021年10月26日 上午8:00
下一篇 2021年10月26日 上午9:00


相关推荐

  • 从Clawdbot到OpenClaw:开源机器人框架的完整部署指南

    从Clawdbot到OpenClaw:开源机器人框架的完整部署指南

    2026年3月13日
    2
  • GPT分区下仅还原Win7 C盘,启动失败:引导文件缺失或EFI配置错误

    GPT分区下仅还原Win7 C盘,启动失败:引导文件缺失或EFI配置错误

    2026年3月16日
    2
  • RSA加密的原理

    RSA加密的原理一 RSA 加密简介 RSA 加密是一种非对称加密 可以在不直接传递密钥的情况下 完成解密 这能够确保信息的安全性 避免了直接传递密钥所造成的被激活成功教程的风险 是由一对密钥来进行加解密的过程 分别称为公钥和私钥 两者之间有数学相关 该加密算法的原理就是对一极大整数做因数分解的困难性来保证安全性 通常个人保存私钥 公钥是公开的 可能同时多人持有 二 RSA 加密 签名区别加密和签名都是为了安全性考虑 但略有不同 常有人问加密和签名是用私钥还是公钥 其实都是对加密和签名的作用有所混淆 简单的说 加密是为了防

    2026年3月26日
    3
  • ABAP 新语法 substring 截取字符串

    ABAP 新语法 substring 截取字符串IFcb_01EQ’X’.LOOPATgt_outINTOgs_out.SELECTSINGLEbelnrFROMbkpfASt1WHEREsubstring(t1~awkey,1,10)=@gs_out-mblnrANDsubstring(t1~awkey,11,4)=@gs_out-mjahrINTO@gs_out-belnr.

    2022年5月23日
    48
  • 灵敏度和特异度的置信区间怎么算?

    灵敏度和特异度的置信区间怎么算?很多医学生及医生经常会对诊断实验进行评价 评价诊断试验的常用指标及计算方法都比较容易掌握 但是少有人知道其相应的 95 的置信区间的计算方法 我们简单的回顾一下 诊断试验评价的基本方法是用所谓的 金标准 确诊区分患者和非患者 再应用待评价的方法测定这些研究对象 然后比较两种方法的一致性 预测值 阳性 阴性 实际值 患者 a b 非患者 c d 公式法评价诊断试验的常用指标主要有灵敏度 特异度 一致率 Youden 指数

    2026年3月19日
    2
  • 借助栈来实现单链表的逆置运算_中缀后缀表达式转换

    借助栈来实现单链表的逆置运算_中缀后缀表达式转换原题链接算术表达式有前缀表示法、中缀表示法和后缀表示法等形式。日常使用的算术表达式是采用中缀表示法,即二元运算符位于两个运算数中间。请设计程序将中缀表达式转换为后缀表达式。输入格式:输入在一行中给出不含空格的中缀表达式,可包含+、-、*、\以及左右括号(),表达式不超过20个字符。输出格式:在一行中输出转换后的后缀表达式,要求不同对象(运算数、运算符号)之间以空格分隔,但结尾不得有多余空格。输入样例:2+3*(7-4)+8/4输出样例:2 3 7 4 – * + 8 4 / +注意

    2022年8月8日
    7

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号