denis303/codeigniter4-recaptcha

dev-master 2020-10-24 07:07 UTC

This package is auto-updated.

Last update: 2024-09-24 15:52:49 UTC


README

安装

composer require denis303/codeigniter4-recaptcha:dev-master

配置

在.env文件中,您需要添加您个人的ReCaptcha密钥。

# --------------------------------------------------------------------
# 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 = [
    ...
    \Denis303\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();

在模型中检查ReCaptcha

public $validationRules = [
    'reCaptcha2' => 'required|reCaptcha2[]'
    'reCaptcha3' => 'required|reCaptcha3[contactForm,0.9]'
    ....
];

在reCaptcha3验证器的设置中,您指定的第一个参数是expectedAction,此参数不是必需的。

您可以在第二个reCaptcha3规则参数中覆盖全局scoreThreshold参数。