This extension provides integration of Google reCAPTCHA into Nette Framework.
lookyman/ReCaptcha requires PHP 5.5 or higher.
The best way to install lookyman/ReCaptcha is using Composer:
$ composer require lookyman/recaptcha
You can enable the extension using your neon config:
extensions:
recaptcha: lookyman\ReCaptcha\DI\ReCaptchaExtension
This extension creates new configuration section recaptcha
, the default configuration looks like this:
recaptcha:
siteKey: ''
secretKey: ''
verificationUrl: 'https://www.google.com/recaptcha/api/siteverify'
errorMessage: 'You appear to be a bot'
validateRemoteIp: off
client: []
theme: 'light'
type: 'image'
size: 'normal'
You can get your siteKey
and secretKey
at the Google reCAPTCHA admin page.
The client
configuration option can pass additional settings to the default Guzzle client. For example, should you run into the cURL error 60: SSL certificate problem: unable to get local issuer certificate
error, you can use the verify: off
option here to disable peer certificate verification.
Additionally, you have to paste the following snippet into your template just before the closing </body>
tag:
<script src='https://www.google.com/recaptcha/api.js'></script>
This extension adds a single method into the Nette\Forms\Container
namespace with the following signature:
/**
* @param string $name Control name
* @param string|NULL $label Control label
* @return \lookyman\ReCaptcha\Forms\Controls\ReCaptchaControl
*/
public function addReCaptcha($name, $label = NULL);
Adding a reCAPTCHA to your form is then as easy as adding any other control type:
protected function createComponentMyReCaptchaForm()
{
$form = new Nette\Application\UI\Form();
$form->addReCaptcha('recaptcha', 'You have to solve this before you send the form');
...
}
Homepage https://lookyman.net and repository https://github.com/lookyman/recaptcha.