Laravel 8 登陆验证码失效 mews/captcha

1. 运行环境

1). 当前使用的 Laravel 版本?

Laravel Framework 8.83.25

2). 当前使用的 php/php-fpm 版本?

PHP 版本:

PHP 7.3.33 (cli) (built: Sep 29 2022 06:58:31) ( NTS )

3). 当前系统

macOS 10.15.7

2. 问题描述?

新建Laravel程序后,新增登陆验证
composer require laravel/ui
php artisan ui vue –auth
php artisan migrate

创建了登陆页面后增加验证码过程中发现程序只能起到验证captcha是否为空(required)的作用,至于验证码正确与否无法判断直接登陆成功.

配置文件方面:

config/app.php:
providers:

Laravel 登陆验证码失效 mews/captcha

aliases:

Laravel 登陆验证码失效 mews/captcha

前端显示验证码以及输入框

Laravel 登陆验证码失效 mews/captcha

Laravel 登陆验证码失效 mews/captcha

后台处理验证:

Laravel 登陆验证码失效 mews/captcha

路由文件:

Laravel 登陆验证码失效 mews/captcha

3. 您期望得到的结果?

Laravel 登陆验证码失效 mews/captcha

4. 您实际得到的结果?

只要验证码不是为空,随便输入都能登陆成功

Laravel 登陆验证码失效 mews/captcha

《L03 构架 API 服务器》
你将学到如 RESTFul 设计风格、PostMan 的使用、OAuth 流程,JWT 概念及使用 和 API 开发相关的进阶知识。
《G01 Go 实战入门》
从零开始带你一步步开发一个 Go 博客项目,让你在最短的时间内学会使用 Go 进行编码。项目结构很大程度上参考了 Laravel。
最佳答案

.env 加上配置

验证码

CAPTCHA_DISABLE=false

1年前 评论
TTTT4 (楼主) 1年前
gyp719 (作者) 1年前
TTTT4 (楼主) 1年前
gyp719 (作者) 1年前
讨论数量: 16

验证的地方只保留required,去除captcha

1年前 评论
TTTT4 (楼主) 1年前

验证那里的条件使用数组就可以了

protected function validateLogin(Request $request){

        $this->validate($request, [
            $this->username() => ['required'],
            'password' => ['required'],
            'captcha' => ['required', 'captcha'],
        ],[
            'captcha.required' => trans('validation.required'),
            'captcha.captcha' => trans('validation.captcha'),
        ]);
    }
1年前 评论
TTTT4 (楼主) 1年前
zstartw (作者) 1年前
TTTT4 (楼主) 1年前
jcc123

在验证码的方法里打个断点

1年前 评论
TTTT4 (楼主) 1年前

.env 加上配置

验证码

CAPTCHA_DISABLE=false

1年前 评论
TTTT4 (楼主) 1年前
gyp719 (作者) 1年前
TTTT4 (楼主) 1年前
gyp719 (作者) 1年前

我是无论输什么字符,即使输对了验证码,还是提示我错误,怎么解,有知道的没~

1年前 评论
gyp719 1年前

我的laravel版本:Laravel Framework 8.83.23
验证码包:”mews/captcha”: “^3.2”
找到验证码包源码 helpers.php文件(路径:vendor/mews/captcha/src),里面已定义好验证码全局验证方法:

file

根据你的需要,如果接口传的是验证码明码暗码对,那就用:

[
 'captcha' => 'required|captcha_api_check:' . $this->request->get('key'),
]

如果只是单纯的验证明码:

[
 'captcha' => 'required|captcha_check',
]

无需修改.env配置, 题主可自行测试。

1年前 评论

讨论应以学习和精进为目的。请勿发布不友善或者负能量的内容,与人为善,比聪明更重要!