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)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • matplotlib无法显示图片_pycharm不出图

    matplotlib无法显示图片_pycharm不出图在学习Matplotlib的时候,在Pycharm中运行的时候不会弹出画的图像。首先你运行之后最小化pycharm,看看是不是已经出来了,只是没有自己弹到最顶层。 代码如下: importnumpyasnpimportmatplotlib.pyplotaspltdefmain():#线的绘制x=np.linspace(-np.p…

    2022年8月25日
    9
  • pycharm2021.4.3激活破解方法

    pycharm2021.4.3激活破解方法,https://javaforall.net/100143.html。详细ieda激活码不妨到全栈程序员必看教程网一起来了解一下吧!

    2022年3月15日
    179
  • hdu 1078 FatMouse and Cheese (dfs+记忆化搜索)

    hdu 1078 FatMouse and Cheese (dfs+记忆化搜索)

    2022年2月5日
    52
  • mysql清空表数据后如何让自增ID仍从1开始

    mysql清空表数据后如何让自增ID仍从1开始有2种方法:1、清空表时使用truncate命令,而不用delete命令truncatetest;使用truncate命令的好处:1)、速度快2)、可以对自增ID进行重排,使自增ID仍从1开始计算2、清空表数据后,使用alter修改表altertabletable_nameauto_increment=1;…

    2022年5月16日
    50
  • STMS中QAS->PRD通信不畅[通俗易懂]

    STMS中QAS->PRD通信不畅[通俗易懂]现象:DEV->QAS->PRD的传输域配置中,DEV->QAS正常,PRD也可以检测到DEV释放的请求,但是就是无法将请求内容添加(闪电标识)至PRDbuffer。将请求文件copy至PRD的trans目录下,上载成功,导入成功。1.怀疑,PRD的\usr\sap的权限,确认也有写入权限2.怀疑QAS和PRD的通信,可以ping通3.STMS传

    2022年6月28日
    30
  • pyqt5安装配置_离线安装pyqt5

    pyqt5安装配置_离线安装pyqt5请按顺序进行依次执行.1、更新pip:python-mpipinstall–upgradepip-ihttps://pypi.tuna.tsinghua.edu.cn/simple如果上一步无法安装成功请执行则执行:python-mpipinstall-U–force-reinstallpip2、安装sip:pipinstallsip-ihttps://pypi.tuna.tsinghua.edu.cn/simple3、安装pyqt5

    2025年8月9日
    1

发表回复

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

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