thelia/re-captcha-module 问题修复 & 功能扩展

解决BUG、新增功能、兼容多环境部署,快速响应你的开发需求

邮箱:yvsm@zunyunkeji.com | QQ:316430983 | 微信:yvsm316

thelia/re-captcha-module

最新稳定版本:4.0.0

Composer 安装命令:

composer require thelia/re-captcha-module

包简介

This module allows you to add easily a reCAPTCHA to your form

README 文档

README

This module allows you to add easily a reCAPTCHA to your form

Installation

Composer

Add it in your main thelia composer.json file

composer require thelia/re-captcha-module:~2.0.0

Usage

Before using this module you have to create google api key here http://www.google.com/recaptcha/admin
next configure your reCAPTCHA access here http://your_site.com/admin/module/ReCaptcha with keys you obtained in Google's page and choose which style of captcha you want :

  • A standard captcha (or a compact version of this one)

    Checkbox captcha

  • An invisible captcha

    Invisible captcha

Then you'll need help from a developer to add some hooks in template and dispatch the check events, see details below.

Hook

First if you don't have {hook name="main.head-top"} hook in your template you have to put this hook {hook name="recaptcha.js"} in the top of your head
Then add this hook {hook name="recaptcha.check"} in every form where you want to check if the user is human,
be careful if you want to use the invisible captcha this hook must be placed directly in the form tag like this :

<form id="form-contact" action="{url path="/contact"}" method="post">
    {hook name="recaptcha.check"}
    // End of the form
</form>

Event

To check in server-side if the captcha is valid you have to dispatch the "CHECK_CAPTCHA_EVENT" like this :

$checkCaptchaEvent = new ReCaptchaCheckEvent();
$eventDispatcher->dispatch($checkCaptchaEvent, ReCaptchaEvents::CHECK_CAPTCHA_EVENT);

Then the result of check is available in $checkCaptchaEvent->isHuman()as boolean so you can do a test like this :

if ($checkCaptchaEvent->isHuman() == false) {
    throw new \Exception('Invalid captcha');
}

Don't forget to add this use at the top of your class :

use ReCaptcha\Event\ReCaptchaCheckEvent;   
use ReCaptcha\Event\ReCaptchaEvents;

统计信息

  • 总下载量: 26.4k
  • 月度下载量: 0
  • 日度下载量: 0
  • 收藏数: 1
  • 点击次数: 1
  • 依赖项目数: 0
  • 推荐数: 0

GitHub 信息

  • Stars: 1
  • Watchers: 4
  • Forks: 9
  • 开发语言: PHP

其他信息

  • 授权协议: LGPL-3.0
  • 更新时间: 2017-06-08