Newer
Older
codeigniter4-recaptcha / README.md
@denis303 denis303 on 22 Oct 2020 1 KB n/a

Google reCAPTCHA CodeIgniter 4 Library

##Installation

##Configuration

In the .env file you need to add your personal ReCaptcha keys.

--------------------------------------------------------------------

ReCaptcha 2

--------------------------------------------------------------------

recaptcha2.key = 'XXXXXXXX-XXXXXXXX' recaptcha2.secret = 'XXXXXXXX-XXXXXXXX'

--------------------------------------------------------------------

ReCaptcha 3

--------------------------------------------------------------------

recaptcha3.key = 'XXXXXXXX-XXXXXXXX' recaptcha3.secret = 'XXXXXXXX-XXXXXXXX' recaptcha3.scoreThreshold = 0.5

In the /app/Config/Validation.php file you need to add settings for validator:

public $ruleSets = [
    ...
    \Denis303\ReCaptcha\Validation\ReCaptchaRules::class
];

## Rendering ReCaptcha 2

Rendering of a hidden field ReCaptcha v2 in the form:

helper(['form', 'reCaptcha']);

echo form_open();

echo reCaptcha2('reCaptcha2', ['id' => 'recaptcha_1'], ['theme' => 'dark']);

echo form_submit('submit', 'Submit');

echo form_close();

## Rendering ReCaptcha 3

Rendering of a hidden field ReCaptcha v3 in the form:

helper(['form', 'reCaptcha']);

echo form_open();

echo reCaptcha3('reCaptcha3', ['id' => 'recaptcha_1'], ['action' => 'contactForm']);

echo form_submit('submit', 'Submit');

echo form_close(); ```

Checking ReCaptcha in a model:

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

In the settings of the reCaptcha3 validator, the first parameter you specify is expectedAction, this parameter is not required.

You can override global scoreThreshold parameter in the second rule parameter.

Setting custom ReCaptcha validation error in a model:

protected $validationMessages = [ 'reCaptcha' => [ 'reCaptcha3' => 'Captcha is not valid.' ] ];