sooluh/codeigniter4-recaptcha

适用于 Google reCAPTCHA v2 和 reCAPTCHA v3 的 CodeIgniter 4 验证器

0.0.2 2023-08-31 01:37 UTC

This package is auto-updated.

Last update: 2024-09-22 03:01:41 UTC


README

I stand with Palestine

CodeIgniter 4 reCAPTCHA

Latest Stable Version Total Downloads Latest Unstable Version License

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 个人资料显示近期的活动有限。

免责声明

本项目已修改以解决某些问题并满足本项目的需求。