ivanamat/cakephp3-captcha

CakePHP 4.5.x - reCAPTCHA plugin

Installs: 6 887

Dependents: 0

Suggesters: 0

Security: 0

Stars: 6

Watchers: 2

Forks: 3

Open Issues: 0

Type:cakephp-plugin

2.0 2024-04-04 15:07 UTC

This package is auto-updated.

Last update: 2024-12-04 16:41:45 UTC


README

Installation

Composer

You can install this plugin into your CakePHP application using composer.

The recommended way to install composer packages is:

composer require ivanamat/cakephp-captcha

Git submodule

git submodule add git@github.com:ivanamat/cakephp-captcha.git plugins/Captcha
git submodule init
git submodule update

Getting started

Get reCAPTCHA secret at https://www.google.com/recaptcha

Configure

Set the secret in your config/bootstrap.php file.

    Configure::write('Captcha.secret','MY_SECRET_KEY');

Load Component

Load component in the initialize() function

    class MyController extends AppController {

        public function initialize() {
            parent::initialize();

            $this->loadComponent('Captcha.Captcha');
        }

    }

...or load the component in the array of components.

    class MyController extends AppController {

        public $components = [
            'Captcha' => [
                'className' => 'Captcha.Captcha'
            ]
        ];

    }

Easy to use

Controller

    # MyController

    $ip = getenv('REMOTE_ADDR');
    $gRecaptchaResponse = $this->request->data['g-recaptcha-response'];

    $captcha = $this->Captcha->check($ip,$gRecaptchaResponse);

    if($captcha->errorCodes == null) {
        // Success
    } else {
        // Fail! Maybe a bot?
    }

HTML

Paste this snippet before the closing tag </head> in the HTML template

    <script src='https://www.google.com/recaptcha/api.js'></script>

Paste this snippet at the end of the <form> where you want the reCAPTCHA widget to appear. Replace YOUR-SITEKEY with your own site key.

    <div class="g-recaptcha" data-sitekey="YOUR-SITEKEY"></div>

About CakePHP 4.x - reCAPTCHA

CakePHP 4.x - Captcha uses the reCAPTCHA third-party library.
You can download reCAPTCHA from official website: [https://github.com/google/recaptcha)

Google reCAPTCHA

Contributors

Iván Amat on GitHub and www.ivanamat.es
BusaniPrepaid on GitHub