CitizenZ Accueil Blog A propos Contact Connexion
Retour à la liste des articles Symfony : installer Google ReCaptcha facilement

Symfony : installer Google ReCaptcha facilement

Olivier Prieur | il y a 1 an | il y a 29 jours Développement web | 2 | 4616

Voici une méthode simple pour installer Google ReCatpcha dans votre projet Symfony.
 Partons de l'idée que vous avez un formulaire de contact que vous souhaitez "protéger" avec Google ReCapctha, afin d'ajouter un bouton anti spam et une case à cocher "Je ne suis pas un robot".
 Afin d'afficher ce bouton Google ReCaptcha, il vous faudra premièrement créer un projet Google Recapctha dans votre interface Google...

Donnez un nom à votre projet, sélectionnez Google ReCapctha V2 (c'ets la version avec le bouton à cocher). La version V3 ne proposant pas de case à cocher et elle se base sur une autre technologie.

Une fois le projet créer sur Google, récupérez la clé du site ET la clé privée.Nous allons installer un bundle Symfony : victor-prdh/recaptcha-bundle

Voici la page Github de ce bundle tès pratique : https://github.com/victor-prdh/recaptcha-bundleInstallons le bundle avec :

composer require victor-prdh/recaptcha-bundle

Répondez NO à la première question sur l'installation de Google Recaptcha et répondez YES à l'installation de victor-prdh/recaptcha-bundle.
Une fois installez, vous verrez que le bundle a écrit 2 ligne dans le .env de votre projet Symfony.
Copiez/collez votre clé du site et votre clé secrète :
###> victor-prdh/recaptcha-bundle ###
GOOGLE_RECAPTCHA_SITE_KEY="6Leb-xxxxxxxxxxxxxxxxx_XxXxXxXxxxxXXXXXX"
GOOGLE_RECAPTCHA_SECRET_KEY="6Leb-xxxxxxxxxxxxxxxxxx_xxXxXxxxxxXxxxxxx"
###< victor-prdh/recaptcha-bundle ###

Maintenant, rendez-vous dans votre formulaire qui s’appelle peut-être ContactType.php et ajoutez simplement la ligne suivante :
->add('captcha', ReCaptchaType::class)

N'oubliez pas d'importer la class.Rendez-vous dans la vue de votre formulaire de contact afin d'ajouter ces 2 lignes :
{{ form_row(form.captcha)}}
{{ form_errors(form.captcha) }}

La première affichera le Google ReCaptcha sur la page et la deuxième affichera les éventuelles erreurs envoyées par Google ReCaptcha...

Et voila. Faites un test sans avoir coché la case du Google ReCapctha. Vous devriez voir une erreur s'afficher.

Testez évidemment en cochant la case et vérifiez que votre mail est bien parti... et arrive bien dans votre boite mail ;)

Olivier Prieur

Olivier Prieur

Geek quinqua nivernais fan d'ovalie, de musique, de linuxeries et de Net.
Portfolio : https://www.olivierprieur.fr

Commentaires

En soumettant ce formulaire, j’accepte que ce site conserve mes données personnelles via ce formulaire. Aucune exploitation commerciale ne sera faite des données conservées.

Victor

il y a 11 mois

Merci pour le partage !

dz

il y a 4 mois

dede

A la une

I use Debian, by the way

Lire l'article

Quelle distribution Linux ? Pour qui ? Pour quoi ?

Lire l'article

Utiliser TailwindCSS dans un projet Symfony 7

Lire l'article

Les plus lus

Symfony : barre de recherche dans la sidebar 19627

Lire l'article

Débuter avec Symfony 5 : le fichier .env 12062

Lire l'article

VSCode : 10 raccourcis clavier indispensables (Linux) 11844

Lire l'article

GIT / GITHUB : aide-mémoire pour "les nuls" 10281

Lire l'article

Les plus likés

Quelle distribution Linux ? Pour qui ? Pour quoi ?

2 Lire l'article

Symfony 7 avec Docker

1 Lire l'article

Customiser Easyadmin (2) : avec AssetMapper

1 Lire l'article