barrett/captcha
Composer 安装命令:
composer require barrett/captcha
包简介
captcha package
README 文档
README
验证码扩展库
使用
一、安装
composer require barrett/captcha
二、初始化配置
引入本扩展库后,在实例化时可以传递配置参数,用于处理不同的场景。
$Captcha = new barrett\Captcha(['setZh'=>true,'length'=>4]);
配置表如下
| 参数名 | 参数类型 | 默认值 | 说明 |
|---|---|---|---|
| key | string | Barrett | 验证码加密key |
| destroy | Boolean | true | 验证成功后是否销毁 |
| expire | integer | 1800 | 验证码过期时间(s) |
| length | integer | 5 | 验证码长度 |
| setZh | Boolean | false | 使用中文验证码 |
| width | integer | 180 | 图片验证码默认宽度 |
| height | integer | 50 | 图片验证码默认高度 |
| fontSize | integer | 20 | 验证码字体大小(px) |
| fontTtf | string | 验证码字体,不设置随机获取 | |
| useImgBg | Boolean | false | 使用背景图片 |
| useCurve | Boolean | true | 是否画混淆曲线 |
| useNoise | Boolean | true | 是否添加杂点 |
| bg | array | [243, 251, 254] | 背景颜色 |
二、创建验证码
本扩展目前支持:图形验证码、数字验证码(短信用)两种,使用方法如下:
创建图形验证码
$Captcha = new barrett\Captcha(); return $Captcha->createImg('user');
创建短信验证码
$Captcha = new barrett\Captcha(); //createNum方法会返回被创建的验证码 $code = $Captcha->createNum('user'); //使用短信发送数字验证码 $Sms->sendToPhone($code['data]);
验证码效验
$Captcha = new barrett\Captcha(); return $Captcha->check($_POST,'user');
####如输出结果异常请检查页面头部信息是否正常!如:Content-type:image/png 是否设置
三、场景标识
用例:客户更改已绑定的手机号,需要在同一个页面生成两个验证码(原手机验证码、新手机验证码)。 1.原手机创建验证码加入唯一场景标识:
$old = $Captcha->createNum('old');
2.新手机创建验证码同样加入唯一场景标识:
$new = $Captcha->createNum('new');
3.当用户提交数据时则根据唯一场景标识来检测对应场景的验证码是否正确,而不会出现相同页面多次调用后不能效验的问题。
barrett/captcha 适用场景与选型建议
barrett/captcha 是一款 基于 PHP 开发的 Composer 扩展包,目前已累计 1.3k 次下载、GitHub Stars 达 14, 最近一次更新时间为 2017 年 10 月 11 日, 在 PHP 生态内属于活跃度较高的组件。
我们在过去多个企业项目中使用过 barrett/captcha 或与其功能相近的方案,如果你在选型或落地过程中遇到问题,例如 版本兼容、二次改造、私有化封装、与内部系统对接、生产 BUG 排查,欢迎联系我们协助评估。
基于 barrett/captcha 在你已有业务上做功能扩展、字段裁剪、UI 适配、与内部账号 / 权限 / 日志系统的深度对接。
线上偶发问题、内存泄漏、慢查询、并发异常等排查修复;针对高流量场景做缓存、队列、索引层面的调优。
承接完整的项目从需求 → 设计 → 开发 → 上线 → 长期运维;也可按月提供技术保姆服务。
统计信息
- 总下载量: 1.3k
- 月度下载量: 0
- 日度下载量: 0
- 收藏数: 14
- 点击次数: 0
- 依赖项目数: 0
- 推荐数: 0
其他信息
- 授权协议: Apache-2.0
- 更新时间: 2017-10-11