View on GitHub


Test Coverage
Nette ReCaptcha

This extension provides integration of [Google reCAPTCHA](https://www.google.com/recaptcha/intro/index.html) into Nette Framework.

[![Build Status](https://travis-ci.org/lookyman/recaptcha.svg?branch=master)](https://travis-ci.org/lookyman/recaptcha)
[![Latest stable](https://img.shields.io/packagist/v/lookyman/recaptcha.svg)](https://packagist.org/packages/lookyman/recaptcha)
[![Code Climate](https://codeclimate.com/github/lookyman/recaptcha/badges/gpa.svg)](https://codeclimate.com/github/lookyman/recaptcha)


lookyman/ReCaptcha requires PHP 5.5 or higher.

- [Nette Framework](https://github.com/nette/nette)


The best way to install lookyman/ReCaptcha is using [Composer](http://getcomposer.org/):

$ composer require lookyman/recaptcha

You can enable the extension using your neon config:

    recaptcha: lookyman\ReCaptcha\DI\ReCaptchaExtension


This extension creates new configuration section `recaptcha`, the default configuration looks like this:

    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](https://www.google.com/recaptcha/intro/index.html) admin page.

The `client` configuration option can pass additional settings to the default [Guzzle](http://guzzlephp.org) 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](https://lookyman.net) and repository [https://github.com/lookyman/recaptcha](https://github.com/lookyman/recaptcha).