phpmob / recaptcha-bundle
Spam protect with google reCAPTCHA
1.1.1
2018-02-05 10:26 UTC
Requires
- php: ^5.5.9|^7.0.8
- symfony/config: ^3.4
- symfony/dependency-injection: ^3.4
- symfony/form: ^3.4
- symfony/http-foundation: ^3.4
- symfony/http-kernel: ^3.4
- symfony/validator: ^3.4
Requires (Dev)
- phpunit/phpunit: ^6.5
README
PhpMobReCaptchaBundle is a spam protection using google reCaptcha.
Installing
Installing via composer
is recommended.
"require": { "phpmob/recaptcha-bundle": "~1.1" }
Enabling
And then enable bundle in AppKernel.php
public function registerBundles() { $bundles = [ ... new \PhpMob\ReCaptchaBundle\PhpMobReCaptchaBundle(), ]; }
Usage
In order to using it you need to setup a bit, First create google recatpcha via https://www.google.com/recaptcha/admin and then config in your symfony app.
- Configuration
phpmob_recaptcha site_key: <google_recaptcha_site_key> secret_key: <google_recaptcha_secret_key> # optional enabled: true/false # toggle enable or disable to using it verify_host: true/false # strict verify hostname (not allow to submit from remote host) theme: light/dark # default light
- Using
<?php use Symfony\Component\Form\AbstractType; use Symfony\Component\Form\FormBuilderInterface; use Symfony\Component\Form\Extension\Core\Type\TextType; use PhpMob\ReCaptchaBundle\Form\Type\RecaptchaType; use PhpMob\ReCaptchaBundle\Validator\Constraints\IsValid; class YourType extends AbstractType { public function buildForm(FormBuilderInterface $builder, array $options) { $builder ->add('field', TextType::class, []) ->add("recaptcha", RecaptchaType::class, [ 'mapped' => false, 'label' => false, "constraints" => [ new IsValid(['groups' => ['some_group_if_need']]) ] ]) ; } }
2.1 Use with Login Form
phpmob_recaptcha login: enabled: true firewall: your_firewall_section_name
<?php use Symfony\Component\Form\AbstractType; use Symfony\Component\Form\FormBuilderInterface; use Symfony\Component\Form\Extension\Core\Type\TextType; use Symfony\Component\Form\Extension\Core\Type\PasswordType; use PhpMob\ReCaptchaBundle\Form\Type\RecaptchaType; use PhpMob\ReCaptchaBundle\Validator\Constraints\IsValid; class UserLoginType extends AbstractType { public function buildForm(FormBuilderInterface $builder, array $options) { $builder ->add('_username', TextType::class, []) ->add('_password', PasswordType::class, []) ->add("recaptcha", RecaptchaType::class, [ 'mapped' => false, 'label' => false, ]) ; } }
That was it!