diandian/captcha

Lumen 的验证码

v1.0 2022-07-14 11:17 UTC

This package is auto-updated.

Last update: 2024-09-14 16:08:29 UTC


README

基于 Captcha for Laravel 5 修改而来的

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

更新

支持了 Lumen 6x

来源

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

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

安装

composer require youngyezi/captcha

使用

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

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

bootstrap/app.php 中注册服务

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


// 添加别名
$app->alias('captcha', 'Youngyezi\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) {
	   //校验失败
}