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


相关推荐

  • JMESPath_英语语法如何自学

    JMESPath_英语语法如何自学前言JMESPath是JSON的查询语言。您可以从JSON文档中提取和转换元素官方文档:https://jmespath.org/tutorial.html基本表达式JMESPath用的最多的

    2022年7月29日
    5
  • gateway网关的作用_gateway网关集群

    gateway网关的作用_gateway网关集群为啥要有网关大型系统在设计之初就会拆分为多个微服务,客户不可能都按每个服务的服务器地址进行访问,因为每个服务对应一个指定的Url,人咋记那么多的地址,这样我们是不是需要一个统一的入口公开给客户,去解决这种调用问题,同时,AJAX虽说可以进行异步请求实现局部刷新,但是不能解决跨域对吧,之前我们怎么进行跨域处理的,用的是在controller层添加@CrossOrign注解,解决跨域问题。单体项目还好说,那么在微服务项目中可能又成千上百的服务,那我都要一个个加吗?而且有的服务还可能存在着没有controll

    2022年10月11日
    0
  • 京东云服务器免费6月_福利服务器

    京东云服务器免费6月_福利服务器记得是在2010年,那个时候我刚刚开始接触Android不久,Google也还没有离开中国。当时我在上大三,Google举办了一场Android应用开发中国大学生挑战赛,跃跃欲试的我就和同学组队一起参加了。当时我们开发的项目叫做酷欧短信(没错,你们所熟悉的酷欧天气其实就是从这个名字演变过来的),是一款功能比较丰富的短信收发软件。我个人对这个项目当时是非常有信心的,不过最终结果下来却只获得了

    2022年10月14日
    0
  • 001-圆周率1万位「建议收藏」

    001-圆周率1万位「建议收藏」3.14159265358979323846264338327950288419716939937510582097494459230781640628620899862803482534211706798214808651328230664709384460955058223172535940812848111745028410270193852110555964462294895493038196442881097566593344612847564823378678316527120190914564

    2022年9月12日
    2
  • fopen 打开网址 设置php.ini,[教程] DreamHost修改php.ini来打开allow_url_fopen函数以支持采集…

    fopen 打开网址 设置php.ini,[教程] DreamHost修改php.ini来打开allow_url_fopen函数以支持采集…该楼层疑似违规已被系统折叠隐藏此楼查看此楼有时候发现空间不能采集,考虑一下是不是由于这个原因引起的,可以通过如下方法来尝试解决:1.首先用SSH登录空间2.在网站根目录建立建立cgi-bin文件夹#mkdir~/youdomain.com/cgi-binPS:youdoamin.com是你的域名目录名称或你自定义的目录名称。3.建立php_update.sh文件#vi~/youdom…

    2022年7月21日
    15
  • java获取当前时间的时间戳_linux修改文件时间戳

    java获取当前时间的时间戳_linux修改文件时间戳一、需求项目中使用java8的LocalDateTime进行日期参数的接收,前后台使用unix时间戳进行日期传输,需要在controller的方法中实现自动将unix时间戳转换为LocalDateTime。localhost:8080?time=1512900770publicvoidtest(@RequestParamLocalDateTimetime){System.out.prin…

    2022年10月2日
    0

发表回复

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

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