Search by

los / losrecaptcha

Lansoweb

ZF2 module for integration with new ReCaptcha service form Google

Package info

github.com/Lansoweb/LosReCaptcha

Homepage

pkg:composer/los/losrecaptcha

Statistics

Installs: 34 926

Dependents: 0

Suggesters: 0

Stars: 3

Open Issues: 1

2.2.0 2020-01-02 13:26 UTC

This package is auto-updated.

Last update: 2026-09-04 18:17:40 UTC


README

Warning

Archived

This Zend Form reCAPTCHA v2 integration is no longer maintained and will receive no further releases. Use the current SDK and integration guidance from your chosen bot-protection provider for new applications.

PHP module for using the ReCaptcha v2 system from Google

https://www.google.com/recaptcha/intro/index.html

Zend Form

To use with Zend\Form, just initialize like the default ReCaptcha element:

$this->add([
   'name' => 'captcha',
    'type' => 'captcha',
    'options' => [
        'captcha' => new LosReCaptcha\Captcha\ReCaptcha([
            'site_key' => $siteKey,
            'secret_key' => $siteSecret,
        ]),
    ],
]);

For Invisible ReCaptcha:

// ...
$this->add([
   'name' => 'captcha',
    'type' => 'captcha',
    'options' => [
        'captcha' => new \LosReCaptcha\Captcha\Invisible([
            'site_key' => $siteKey,
            'secret_key' => $siteSecret,
            'callback' => 'captchaSubmit', // Callback to submit the form
            'button_id' => 'submit-button', // Button id to submit the form
        ]),
    ],
]);
// ...
$this->add([
    'name' => 'submit-button',
    'type' => \Zend\Form\Element\Button::class,
    'options' => [
        'label' => _('Log In'),
    ],
    'attributes' => [
        'id'    => 'submit-button',
        'class' => 'btn btn-block btn-primary',
        'value' => _('Log In'),
    ],
]);

In the view for Invisible ReCaptcha:

function captchaSubmit() {
  // Any js code, eg. fields validation
  document.getElementById("login").submit();
}

For Zend Expressive, you can inject the configuration with the ConfigProvider inside your config/config.php:

<?php
// ...
$aggregator = new ConfigAggregator([
    // ...
    \LosReCaptcha\ConfigProvider::class,
    // ...
], $cacheConfig['config_cache_path']);

return $aggregator->getMergedConfig();