codeigniter-recaptcha
, (*1)
Little package to get recaptcha working on codeigniter, (*2)
prerequisites
Setup and obtain a key pair from recaptcha admin console for your project domain; both are required. The firs is used on captcha widget rendering, the second when checking response validity., (*3)
It's also important to check the URL endpoint to be used for remote validation; the information is available under server side integration step., (*4)
setup
Copy config/Recaptcha.php
and libraries/Recaptcha.php
under codeigniter project application folder., (*5)
Please note that default shipped configuration is using test keys, so you have to replace them in config/Recaptcha.php
with the ones coming from completion of previous step (and better to disable allowed test keys). The rows to edit are the following:, (*6)
$config['allowtestkeys'] = TRUE;
$config['profile_sitekey'] = '6LeIxAcTAAAAAJcZVRqyHh71UMIEGNQ_MXjiZKhI';
$config['profile_secretkey'] = '6LeIxAcTAAAAAGG-vFI1TnRWxMZNFuojJ4WifJWe';
According to documentation, config variables can be mapped to customize widget, like theme, size, etc., (*7)
A way to install via composer is allowed referencing packagist handle [afelicioni/codeigniter-recaptcha][7] like, (*8)
{
"require": {
"afelicioni/codeigniter-recaptcha": "dev-master"
}
}
in a custom composer.json and to be triggered by, (*9)
composer install
At last, controllers/Recaptcha.php
provides a direct usage example., (*10)
how to use
Functionality is split in two parts, for widget rendering and response verification., (*11)
First, be sure to load library, (*12)
$this->load->library('recaptcha');
In controller, call widget
to obtain outputable code for displaying widget. You can (it's optional!) pass an array as parameter to customize language, theme, size and so on., (*13)
$this->recaptcha->widget(array('hl'=>'fr','theme'=>'dark','size'=>'compact'));
To verify response, call verify
and pass a string to perfor check for., (*14)
$checkme = $this->recaptcha->verify($this->input->post('g-recaptcha-response'));
if ($check) {
echo 'hey, you look like a human!';
}
todo
Strict check for IP address, (*15)
by Alessio Felicioni | Github, (*16)