ivanamat / cakephp-captcha
CakePHP 4.5.x - reCAPTCHA plugin
Installs: 8
Dependents: 0
Suggesters: 0
Security: 0
Stars: 6
Watchers: 2
Forks: 3
Open Issues: 0
Type:cakephp-plugin
Requires
- php: >=7.4
- cakephp/cakephp: 4.5.x
This package is auto-updated.
Last update: 2024-12-04 16:52:24 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)
Contributors
Iván Amat on GitHub and www.ivanamat.es
BusaniPrepaid on GitHub