PHPackages                             jiahao/captcha - PHPackages - PHPackages  [Skip to content](#main-content)[PHPackages](/)[Directory](/)[Categories](/categories)[Trending](/trending)[Leaderboard](/leaderboard)[Changelog](/changelog)[Analyze](/analyze)[Collections](/collections)[Log in](/login)[Sign up](/register)

1. [Directory](/)
2. /
3. [Validation &amp; Sanitization](/categories/validation)
4. /
5. jiahao/captcha

ActiveLibrary[Validation &amp; Sanitization](/categories/validation)

jiahao/captcha
==============

Captcha for Lumen，Lumen 验证码

04PHP

Since Nov 3Pushed 5y ago1 watchersCompare

[ Source](https://github.com/luffy-boy/captcha)[ Packagist](https://packagist.org/packages/jiahao/captcha)[ RSS](/packages/jiahao-captcha/feed)WikiDiscussions master Synced 1w ago

READMEChangelogDependenciesVersions (1)Used By (0)

Captcha for Lumen
=================

[](#captcha-for-lumen)

基于 [Captcha for Laravel 5](https://github.com/mewebstudio/captcha "Captcha for Laravel 5") 修改而来的

> A simple [Laravel 5](http://www.laravel.com/) service provider for including the [Captcha for Laravel 5](https://github.com/mewebstudio/captcha).

源于
--

[](#源于)

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

由此我基于原 Captcha 包进行了一些错误修复来集成 Lumen 。 同时删除了一些个人觉得太过冗余的东西，让使用更加方便和自由

安装
--

[](#安装)

```
composer require jiahao/captcha

```

使用
--

[](#使用)

> 新版的包已经删除了 session 支持，完全交给业务自由选择存储方式
>
> 个人觉得这样更方便来解耦业务，尤其 Lumen 大多时候用来做 Api 开发，并不需要开启 Session 服务

### 注册服务 `bootstrap\app.php`

[](#注册服务-bootstrapappphp)

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

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

```

### 配置文件

[](#配置文件)

复制 `config/captcha.php` 至 项目 `config` 文件下

For Example
-----------

[](#for-example)

### 验证码生成

[](#验证码生成)

```
//  创建验证码
//  配置文件 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) {
	   //校验失败
}

```

###  Health Score

16

—

LowBetter than 5% of packages

Maintenance20

Infrequent updates — may be unmaintained

Popularity3

Limited adoption so far

Community4

Small or concentrated contributor base

Maturity31

Early-stage or recently created project

How is this calculated?**Maintenance (25%)** — Last commit recency, latest release date, and issue-to-star ratio. Uses a 2-year decay window.

**Popularity (30%)** — Total and monthly downloads, GitHub stars, and forks. Logarithmic scaling prevents top-heavy scores.

**Community (15%)** — Contributors, dependents, forks, watchers, and maintainers. Measures real ecosystem engagement.

**Maturity (30%)** — Project age, version count, PHP version support, and release stability.

### Community

Maintainers

![](https://www.gravatar.com/avatar/f691e146b0dafd71480cf974e9216587d7dce6851113b50a85b7c9125b38187e?d=identicon)[645536551](/maintainers/645536551)

### Embed Badge

![Health badge](/badges/jiahao-captcha/health.svg)

```
[![Health](https://phpackages.com/badges/jiahao-captcha/health.svg)](https://phpackages.com/packages/jiahao-captcha)
```

###  Alternatives

[webmozart/assert

Assertions to validate method input/output with nice error messages.

7.6k894.0M1.2k](/packages/webmozart-assert)[bensampo/laravel-enum

Simple, extensible and powerful enumeration implementation for Laravel.

2.0k15.9M104](/packages/bensampo-laravel-enum)[swaggest/json-schema

High definition PHP structures with JSON-schema based validation

48612.5M73](/packages/swaggest-json-schema)[stevebauman/purify

An HTML Purifier / Sanitizer for Laravel

5325.6M19](/packages/stevebauman-purify)[ashallendesign/laravel-config-validator

A package for validating your Laravel app's config.

217905.3k5](/packages/ashallendesign-laravel-config-validator)[crazybooot/base64-validation

Laravel validators for base64 encoded files

1341.9M8](/packages/crazybooot-base64-validation)

PHPackages © 2026

[Directory](/)[Categories](/categories)[Trending](/trending)[Changelog](/changelog)[Analyze](/analyze)
