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/recaptchaYou can enable the extension using your neon config:
extensions:
recaptcha: lookyman\ReCaptcha\DI\ReCaptchaExtensionThis 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.