sooluh / codeigniter4-recaptcha
适用于 Google reCAPTCHA v2 和 reCAPTCHA v3 的 CodeIgniter 4 验证器
0.0.2
2023-08-31 01:37 UTC
Requires
- php: >=7.4
- codeigniter4/framework: ^4
- google/recaptcha: ^1.2
Requires (Dev)
README
CodeIgniter 4 reCAPTCHA
CodeIgniter 4 验证器,适用于 Google reCAPTCHA v2 和 reCAPTCHA v3。
要求
- PHP >= 7.4
- Composer
特性
- PSR-4 自动加载兼容的结构
- PSR-2 代码风格兼容
- 包含有用的工具以优化代码
安装
使用以下命令安装包
composer require sooluh/codeigniter4-recaptcha
配置
将您的 reCAPTCHA 密钥添加到 .env 文件中。
# -------------------------------------------------------------------- # ReCaptcha 2 # -------------------------------------------------------------------- recaptcha2.key = 'XXXXXXXX-XXXXXXXX' recaptcha2.secret = 'XXXXXXXX-XXXXXXXX' # -------------------------------------------------------------------- # ReCaptcha 3 # -------------------------------------------------------------------- recaptcha3.key = 'XXXXXXXX-XXXXXXXX' recaptcha3.secret = 'XXXXXXXX-XXXXXXXX' recaptcha3.scoreThreshold = 0.5
在 /app/Config/Validation.php 文件中,您需要添加验证器的设置。
public $ruleSets = [ ... \ReCaptcha\Validation\ReCaptchaRules::class ];
使用方法
渲染 reCAPTCHA v2
helper(['form', 'reCaptcha']); echo form_open(); echo reCaptcha2('reCaptcha2', ['id' => 'recaptcha_v2'], ['theme' => 'dark']); echo form_submit('submit', 'Submit'); echo form_close();
渲染 reCAPTCHA v3
helper(['form', 'reCaptcha']); echo form_open(); echo reCaptcha3('reCaptcha3', ['id' => 'recaptcha_v3'], ['action' => 'contactForm']); echo form_submit('submit', 'Submit'); echo form_close();
验证
public $validationRules = [ 'reCaptcha2' => 'required|reCaptcha2[]', 'reCaptcha3' => 'required|reCaptcha3[contactForm,0.9]' .... ];
在 reCaptcha3 验证器的设置中,您指定的第一个参数是 expectedAction,此参数不是必需的。
您可以在第二个 reCaptcha3 规则参数中覆盖全局 scoreThreshold 参数。
许可证
本项目采用 MIT 许可证 - 详细信息请参阅 LICENSE 文件。
致谢
本项目基于由 denis303 创建的 codeigniter4-recaptcha 仓库。选择使用此基础代码是由于其健壮的架构和现有的功能。
注意
请注意,原始仓库可能在过去两年内未活跃,原始开发者的 GitHub 个人资料显示近期的活动有限。
免责声明
本项目已修改以解决某些问题并满足本项目的需求。