jiahao/captcha

Lumen 验证码

dev-master 2020-11-03 02:51 UTC

This package is not auto-updated.

Last update: 2024-10-02 20:46:19 UTC


README

基于 Captcha for Laravel 5 进行修改的

一个简单的 Laravel 5 服务提供者,用于包含 Captcha for Laravel 5

来源

Captcha for Laravel 5 的作者已经很久没有更新了,同时 Captcha 在 Lumen 中存在许多错误

因此,我基于原 Captcha 包进行了一些错误修复,以集成到 Lumen 中。同时删除了一些个人认为过于冗余的东西,使使用更加方便和自由

安装

composer require jiahao/captcha

使用

新版本的包已经删除了 session 支持,完全交由业务自由选择存储方式

个人认为这样更方便来解耦业务,尤其是 Lumen 大多时候用于做 Api 开发,并不需要开启 Session 服务

bootstrap\app.php 中注册服务

$app->register(jiahao\Captcha\CaptchaServiceProvider::class);


// 添加别名
$app->alias('captcha', 'jiahao\Captcha\CaptchaServiceProvider');

配置文件

config/captcha.php 复制到项目的 config 文件夹下

例如

验证码生成

//  创建验证码
//  配置文件 key($config)
//  返回 验证码 captcha 和相关 key
$data = app('captcha')->create();
    
//  自定义储存 key (如 redis ,session 等)

....

//  返回验证码图片 img

验证码校验

// 通过 code 和 key 来校验
$captcha = $request->input('captcha');

// 获取自定义存储的 key 值
$key = { ... };
	
if(app('captcha')->check($captcha, $key) === false) {
	   //校验失败
}