firecms-ext / captcha
hyperf 扩展:图片验证码
dev-master
2022-11-22 03:05 UTC
Requires
- php: >=8.0
- ext-gd: *
- ext-openssl: *
- firecms-ext/crypt: *
- hyperf/cache: ~v2.0
- hyperf/di: ~v2.0
- hyperf/framework: ~v2.0
- hyperf/session: ~v2.0
- hyperf/validation: ~v2.0
Requires (Dev)
- friendsofphp/php-cs-fixer: ^3.0
- mockery/mockery: ^1.0
- phpstan/phpstan: ^1.0
- phpunit/phpunit: >=7.0
- swoole/ide-helper: ^4.5
Suggests
- swow/swow: Required to create swow components.
This package is auto-updated.
Last update: 2025-03-22 08:51:41 UTC
README
# 验证码 依赖安装 composer require firecms-ext/captcha # 发布配置 php bin/hyperf.php vendor:publish firecms-ext/captcha # 加密解密 依赖安装 composer require firecms-ext/crypt # 发布配置 php bin/hyperf.php vendor:publish firecms-ext/crypt # 生成密钥 php bin/hyperf.php gen:app-key
发布 Session 配置
Session 组件的配置储存于 config/autoload/session.php 文件中,如文件不存在,您可通过 php bin/hyperf.php vendor:publish hyperf/session 命令来将 Session 组件的配置文件发布到 Skeleton 去。
php bin/hyperf.php vendor:publish hyperf/session
配置 Session 中间件
在使用 Session 之前,您需要将 Hyperf\Session\Middleware\SessionMiddleware 中间件配置为 HTTP Server 的全局中间件,这样组件才能介入到请求流程进行对应的处理,config/autoload/middlewares.php 配置文件示例如下:
<?php return [ // 这里的 http 对应默认的 server name,如您需要在其它 server 上使用 Session,需要对应的配置全局中间件 'http' => [ \Hyperf\Session\Middleware\SessionMiddleware::class, ], ];
表单验证
<?php use Hyperf\Validation\Request\FormRequest; class CaptchaRequest extends FormRequest { public function authorize(): bool { return true; } public function rules(): array { return [ 'captcha_code' => 'required|captcha:captcha_key', ]; } public function messages() : array{ return [ 'captcha_code.captcha'=>'验证码 无效' ]; } }
注意: captcha_code 验证码; captcha_key 密文;可选,默认读取 属性名称 + _key