Skip to content
This repository has been archived by the owner on Jan 11, 2021. It is now read-only.

prugala/PRRecaptchaBundle

Repository files navigation

ARCHIVED

This repository is archived and not maintained.

Please use: https://github.com/excelwebzone/EWZRecaptchaBundle

RecaptchaBundle

Recaptcha v3 bundle for Symfony

Latest Stable Version Total Downloads License

Build Status

Installation

composer require prugala/recaptcha-bundle

Register bundle in AppKernel.php file:

new PR\Bundle\RecaptchaBundle\PRRecaptchaBundle()

Configuration

pr_recaptcha:
    public_key: 'public key'
    secret_key: 'secret key'
    enabled: false # optional / default value: true - you can disable it for local or test env
    score_threshhold: 'score' # optional / default value: 0.5
    hide_badge: true # optional / default value: false *
    host: 'www.google.com' # optional / default value: www.google.com **

* When you hide badge inform visitors that reCAPTCHA is implemented on website: https://developers.google.com/recaptcha/docs/faq#hiding-badge

** If you plan to use reCAPTCHA globally please use host www.recaptcha.net. More informations: https://developers.google.com/recaptcha/docs/faq#can-i-use-recaptcha-globally

In Symfony 4.4 and newer you need to register form theme by yourself by adding in config/packages.twig.yaml

twig:
    form_themes: ['@PRRecaptcha/Form/recaptcha.html.twig']

How to use

Add field with type RecaptchaType to your form, example:

->add('captcha', RecaptchaType::class)

Options available:

->add('captcha', RecaptchaType::class, [
    'script_nonce_csp' => $nonce,
    'action_name' => 'contact_form'
])
  • script_nonce_csp: Nonce for Content-Security-Policy header
  • action_name: Form specific action name

TODO

  1. Support for version v2
  2. Waiting for suggestions :)