laravel 5.5 登录验证码 captcha 引入

举报
lxw1844912514 发表于 2022/03/27 02:46:32 2022/03/27
【摘要】 https://blog.csdn.net/u013372487/article/details/79461730 前提: 开启Laravel 的用户认证功能 1、安装 Captcha 安装 Captcha+ $ composer require mews/captcha 配置 /config/app.php'...

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

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

1、安装 Captcha


    
  1. 安装 Captcha+
  2. $ composer require mews/captcha
  3. 配置
  4. /config/app.php
  5. 'providers' => [
  6. // ...
  7. Mews\Captcha\CaptchaServiceProvider::class,
  8. ]
  9. 'aliases' => [
  10. // ...
  11. 'Captcha' => Mews\Captcha\Facades\Captcha::class,
  12. ]
  13. 自定义配置
  14. $ php artisan vendor:publish
  15. 运行之后,就可以在 config/captcha.php 中进行配置了。这里使用默认配置。

 

 

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

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


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

 

 

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


    
  1. 首先要引入如下代码:
  2. use Illuminate\Http\Request;
  3. 重写validateLogin方法:
  4. 在验证里面加入验证码的规则验证即可
  5. /**
  6. * DESC: 重写 AuthenticatesUsers 登录验证方法,并自定义提示信息;
  7. * 原验证方法 Illuminate\Foundation\Auth\AuthenticatesUsers
  8. * @param Request $request
  9. */
  10. protected function validateLogin(Request $request){
  11. $this->validate($request, [
  12. $this->username() => 'required|string',
  13. 'password' => 'required|string',
  14. 'captcha' => 'required|captcha',
  15. ],[
  16. 'captcha.required' => '请填写验证码',
  17. 'captcha.captcha' => '验证码错误',
  18. ]);
  19. }

 

文章来源: blog.csdn.net,作者:lxw1844912514,版权归原作者所有,如需转载,请联系作者。

原文链接:blog.csdn.net/lxw1844912514/article/details/100029026

【版权声明】本文为华为云社区用户转载文章,如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱: cloudbbs@huaweicloud.com
  • 点赞
  • 收藏
  • 关注作者

评论(0

0/1000
抱歉,系统识别当前为高风险访问,暂不支持该操作

全部回复

上滑加载中

设置昵称

在此一键设置昵称,即可参与社区互动!

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。