aishan/lumen-captcha
Composer 安装命令:
composer require aishan/lumen-captcha
包简介
captcha for lumen
README 文档
README
本项目修改自 Captcha for Laravel 5.
预览效果图
安装
- 项目必须启用缓存才能使用,因为验证码和验证码绑定的uuid都是保存在缓存的。
project's
composer.json.
composer require aishan/lumen-captcha
or
{
"require": {
"laravel/lumen-framework": "5.3.*",
"aishan/lumen-captcha": "v1.3"
},
"minimum-stability": "dev"
}
使用
在bootstrap/app.php中注册Captcha Service Provider:
//验证码 $app->register(Aishan\LumenCaptcha\CaptchaServiceProvider::class); class_alias('Aishan\LumenCaptcha\Facades\Captcha','Captcha');
配置
在bootstrap/app.php中可以配置各种自定义类型的验证码属性:
更多详细配置请查看https://github.com/mewebstudio/captcha
/** * captcha配置 */ config(['captcha'=> [ 'useful_time'=>5,//验证码有效时间,单位(分钟) 'captcha_characters'=>'2346789abcdefghjmnpqrtuxyzABCDEFGHJMNPQRTUXYZ', 'sensitive' =>false,//验证码大小写是否敏感 'login' => [//登陆验证码样式 'length' => 4,//验证码字数 'width' => 120,//图片宽度 'height' => 36,//字体大小和图片高度 'angle' => 10,//验证码中字体倾斜度 'lines' => 2,//生成横线条数 'quality' => 90,//品质 'invert' =>false,//反相 'bgImage' =>true,//是否有背景图 'bgColor' =>'#ffffff', 'blur' =>0,//模糊度 'sharpen' =>0,//锐化 'contrast' =>0,//反差 'fontColors'=>['#339900','#ff3300','#9966ff','#3333ff'],//字体颜色 ], ] ]);
当然,也可以不配置,默认就是default的样式,验证码有效时间5分钟。
使用范例
因为lumen一般写的都是无状态的API,所以此处验证码的图片必须绑定一个uuid,获取图片验证码时,先获取验证码url地址和uuid,然后在验证时,提交验证码和uuid一并验证码。
生成验证码
获取验证码信息:
{站点域名}/captchaInfo/{type?}
其中type就是在配置文件中定义的验证码类型(如果你定义了的话),当然也可以不指定type,则默认为default,返回信息:
{
"code": "10000",
"msg": "success",
"sub_code": "",
"sub_msg": "",
"result": {
"captchaUrl": "{站点域名}/captcha/default/fc1d7d7f-3d8c-652a-5e92-90e9822740ad",
"captchaUuid": "fc1d7d7f-3d8c-652a-5e92-90e9822740ad"
}
}
captchaUrl为验证码图片地址,captchaUuid为绑定验证码图片的uuid。
验证验证码
在请求中将验证码的值和uuid随着你的post请求一起发到服务端,在接收参数的地方做验证即可:
public function checkCaptcha(Request $request, $type = 'default',$captchaUuid) { $this->validate($request,[ 'captcha'=>'required|captcha:'.$captchaUuid ]); ... }
Links
aishan/lumen-captcha 适用场景与选型建议
aishan/lumen-captcha 是一款 基于 PHP 开发的 Composer 扩展包,目前已累计 8.55k 次下载、GitHub Stars 达 10, 最近一次更新时间为 2016 年 11 月 23 日, 在 PHP 生态内属于活跃度较高的组件。
它主要适用于以下技术方向: 「lumen Captcha」 「lumen Security」 「Captcha for api」 等业务场景。在实际项目中,围绕这些方向常见需要落地的问题包括:接口对接、性能调优、并发安全、与既有框架(Laravel / ThinkPHP / Yii / Webman 等)的兼容适配,以及生产环境的日志埋点与稳定性保障。
我们在过去多个企业项目中使用过 aishan/lumen-captcha 或与其功能相近的方案,如果你在选型或落地过程中遇到问题,例如 版本兼容、二次改造、私有化封装、与内部系统对接、生产 BUG 排查,欢迎联系我们协助评估。
基于 aishan/lumen-captcha 在你已有业务上做功能扩展、字段裁剪、UI 适配、与内部账号 / 权限 / 日志系统的深度对接。
线上偶发问题、内存泄漏、慢查询、并发异常等排查修复;针对高流量场景做缓存、队列、索引层面的调优。
承接完整的项目从需求 → 设计 → 开发 → 上线 → 长期运维;也可按月提供技术保姆服务。
与 aishan/lumen-captcha 相关的其它包
同方向 / 同关键字的高下载量 PHP Composer 包推荐,方便对比选型:
Testing Suite For Lumen like Laravel does.
Diese Contao 4 Erweiterung stellt Google reCAPTCHA V2 in Form eines neuen Formularfeldes im Formulargenerator bereit. This extension provides Google reCAPTCHA V2 in the form of a new form field in the form generator of Contao Open Source CMS.
Provide a way to secure accesses to all routes of an symfony application.
Two Captcha
It's a barebone security class written on PHP
Stackdriver handler for Monolog (codeinternetapplications/monolog-stackdriver Fork).
统计信息
- 总下载量: 8.55k
- 月度下载量: 0
- 日度下载量: 0
- 收藏数: 11
- 点击次数: 16
- 依赖项目数: 0
- 推荐数: 0
其他信息
- 授权协议: MIT
- 更新时间: 2016-11-23