Lundi matin, alerte d’un client : « On a reçu 200 mails de bienvenue en une nuit. »
Je me connecte. 200 comptes clients créés en 48 h. Emails jetables. Zéro commande. Un bot sur le formulaire d’inscription : pas de CAPTCHA, pas de rate limiting.
Nettoyage en 2 h. Puis reCAPTCHA v2 sur inscription + contact, honeypot, validation email renforcée. Depuis : zéro vague.
Ce n’est pas spectaculaire comme un skimmer sur le tunnel de paiement. Mais ça pollue ta base CRM, fait exploser tes quotas mail, et peut dégrader ta réputation d’expéditeur.
Dans ce tuto 2026, tu obtiens :
- Comment ajouter reCAPTCHA à PrestaShop 8 et 9 sans module payant
- Quelle version choisir : v2, v3, Enterprise, Turnstile
- Le bon module selon ta version (EiCaptcha 2.6 sur PS 8, module déclaré 9.x sur PS 9)
- Les tests qui prouvent que ça bloque vraiment (incognito + mobile)
- Ce que le captcha ne suffit plus à faire : honeypot, emails jetables, nettoyage de vague
Spoiler : on ne touche plus à contact-form.tpl comme en PrestaShop 1.6. Sur PrestaShop 9 (Hummingbird, Symfony), un module à jour + les bons hooks, c’est plus propre ; et ça survit aux mises à jour. Besoin que je le pose sur ta boutique ? Écris-moi.
Sommaire
- Pourquoi tes formulaires PrestaShop se font spammer
- reCAPTCHA v2, v3, Enterprise : laquelle choisir en 2026
- PrestaShop 1.7, 8 et 9 : ce qui change vraiment
- Étape 1 : Créer tes clés Google reCAPTCHA
- Étape 2 : Choisir le module gratuit selon ta version
- Étape 3 : Installer et configurer le module
- Étape 4 : Tester (desktop, mobile, cache)
- CSS : afficher proprement la case (Classic / Hummingbird)
- Honeypot, emails jetables, rate limiting : la couche 2
- Tu as déjà 200 faux comptes : comment nettoyer
- Ça ne marche pas : checklist de dépannage
- FAQ : reCAPTCHA PrestaShop 8 et 9
- Conclusion

1. Pourquoi tes formulaires PrestaShop se font spammer
Dès qu’un formulaire est public, il est une API ouverte. Les bots n’ont pas besoin de « casser » PrestaShop : ils POST-ent sur /contact, /connexion (création de compte) et parfois la newsletter. Sans challenge, ça passe.
Les cibles les plus fréquentes :
- Formulaire de contact ; liens malveillants, « partenariats », SEO spam
- Création de compte client ; emails jetables, mails de bienvenue en rafale, base CRM pourrie
- Newsletter ; opt-in fictifs qui plombent tes taux d’ouverture
- Mot de passe oublié ; moins visible, mais utile aux attaques par énumération
Le coût n’est pas « 2 minutes à trier ». C’est : quotas transactionnels (Brevo, Mailjet, SMTP), réputation d’expéditeur, clients légitimes qui n’ouvrent plus tes mails de commande, et un back-office clients illisible.
Si tu es encore sur une 1.7 figée, le fond du problème est le même ; l’ancien tuto reCAPTCHA v2 pour PrestaShop 1.7 reste une archive. La méthode 2026 ci-dessous la remplace pour PS 8 / 9.
2. reCAPTCHA v2, v3, Enterprise : laquelle choisir en 2026
Un captcha, c’est un test « humain vs robot ». reCAPTCHA, c’est la version Google. En 2026, tu croises quatre familles ; et beaucoup de tutos mélangent encore les clés.
| Type | Ce que voit le client | Idéal pour | Piège |
|---|---|---|---|
| v2 « case à cocher » | « Je ne suis pas un robot », parfois des images | Contact, inscription | Friction légère, mais debug simple |
| v2 invisible | Rien, challenge seulement si doute | Parcours où tu veux peu de friction | Plus dur à diagnostiquer |
| v3 (score) | Rien | Monitoring + seuil | Seuil mal réglé = faux positifs ou spam qui passe |
| Turnstile (Cloudflare) | Widget discret | Alternative plus « RGPD-friendly » | Le module doit le supporter |
Mon avis terrain : pour une boutique PME, pars sur reCAPTCHA v2 case à cocher sur contact + inscription. C’est visible, ça rassure, et tu vois tout de suite si ça casse. La v3, je la réserve quand le module gère un seuil (EiCaptcha 2.6 le fait) et que tu as le temps de l’ajuster.
Côté Google : les clés se gèrent de plus en plus dans Google Cloud (Security → reCAPTCHA). La console historique google.com/recaptcha/admin reste le chemin le plus simple pour créer une clé « Challenge / checkbox » ou « Score-based ». La plupart des modules PrestaShop attendent encore une clé du site + clé secrète (mode classique). Après migration Cloud, ces clés continuent en général de fonctionner avec le même module ; à condition de ne pas mélanger une clé v3 avec un module réglé en v2.
Quota : Google documente un socle gratuit d’assessments (ordre de grandeur : 10 000 / mois sur l’offre Cloud). Pour un contact + des inscriptions, une PME y reste. Un gros trafic catalogue + login partout, c’est un autre sujet (Turnstile, ou facturation Cloud).
3. PrestaShop 1.7, 8 et 9 : ce qui change vraiment
Le spam n’a pas changé. L’architecture si :
- PS 1.6 :
contact-form.tplà la racine du thème. Les copier-coller de 2016 cassent dès que tu changes de thème. - PS 1.7 / 8 + thème Classic : module natif
contactform, templates dans le thème (templates/customer/), hooks. Un module comme EiCaptcha s’appuie là-dessus. - PS 9 + Hummingbird : nouveau thème par défaut, formulaires plus Symfony. Un module qui ne déclare que 1.7/8 peut installer… et ne rien afficher, ou casser l’inscription au checkout.

EiCaptcha (nenes25/eicaptcha) est le module open source que je recommande depuis des années sur 1.7 / 8 ; j’avais même poussé un correctif CSS dès la 2.0.1. La branche 2.6.0 (fin 2025) cible 1.7 et 8, avec score v3 configurable. La ligne 3.x (PrestaShop 9 only, PHP 8.1+) était en cours côté GitHub en 2026 : à vérifier sur la page Releases au moment où tu installes.
Sur une PrestaShop 9 en production aujourd’hui, je prends un module qui déclare 9.x : par exemple Tec Spam Guard (MIT, reCAPTCHA + Turnstile + emails jetables) ou le reCAPTCHA gratuit PrestaHero (contact / inscription / login). Pas de religion : la fiche « compatible 9.x » + un test staging battent n’importe quel nom connu.
4. Étape 1 : Créer tes clés Google reCAPTCHA
- Ouvre la console reCAPTCHA (compte Google de la boîte, pas ton Gmail perso si tu peux).
- Crée un site / une clé. Libellé : le nom de la boutique (ex. « Bohomane prod »).
- Type : Challenge / case à cocher (v2) si tu suis ce tuto « simple ». Score-based (v3) seulement si ton module le demande clairement.
- Domaines :
votreboutique.fretwww.votreboutique.fr. Ajoute le domaine de préprod si tu testes là-bas. - Valide les conditions. Tu obtiens une clé du site (publique, front) et une clé secrète (serveur). La secrète = mot de passe : pas dans un ticket Trello public.
Si Google te pousse vers Cloud Console : Security → reCAPTCHA → Create key. Même logique. Si ton module PrestaShop a un mode « Enterprise » (Key ID + Project ID + API key), c’est un autre formulaire ; ne colle pas une clé Enterprise dans un champ « secret key » classique.
5. Étape 2 : Choisir le module gratuit selon ta version
| Version PrestaShop | Module gratuit | Formulaires | À retenir |
|---|---|---|---|
| 1.7 / 8 | EiCaptcha 2.6.x | Contact, compte, newsletter | Télécharge le ZIP des Releases, pas « Code → Download ZIP » (vendor Composer manquant) |
| 9 | Module déclaré 9.x (Tec Spam Guard, PrestaHero free, EiCaptcha 3.x s’il est sorti) | Contact, compte, login, parfois checkout | Teste sur staging. Hummingbird n’est pas Classic. |
| 1.6 | EiCaptcha 0.4.x (legacy) | Contact | Le vrai sujet, c’est la migration 1.7 → 8/9 |
Prérequis fréquents : module natif contactform activé. Pour la newsletter EiCaptcha : ps_emailsubscription ≥ 2.6.0.

6. Étape 3 : Installer et configurer le module
Sauvegarde (fichiers + BDD) avant d’uploader un ZIP. Cinq minutes, pas un optionnel.
- Back-office → Modules → Module Manager → Upload a module / « Ajouter un module ».
- Envoie le ZIP. Installe. Si PrestaShop refuse la version : tu n’as pas le bon ZIP (PS 9 vs 2.6, ou l’inverse).
- Configure : colle clé du site + clé secrète.
- Active les formulaires : contact et création de compte a minima. Login et newsletter selon ta surface d’attaque.
- Si le module propose v2 / v3 : aligne-le sur le type de clé Google. Un mismatch = widget invisible ou validation qui échoue toujours.
- Enregistre. Vide le cache PrestaShop (Performances). Sur PS 9, vide aussi le cache Symfony si tu as la main SSH :
php bin/console cache:clear.
Tu n’as pas à coller <div class="g-recaptcha"> dans le thème si le module est compatible. C’était le bricolage 1.6. Sur 8 / 9, c’est un anti-pattern : tu perds la validation serveur au prochain update de thème.
7. Étape 4 : Tester (desktop, mobile, cache)
Un widget qui s’affiche ne prouve rien. La preuve, c’est le refus serveur.
- Déconnecte-toi du back-office. Fenêtre privée. Idéalement le téléphone en 4G (comme pour un test anti-skimmer : l’admin n’est pas le client).
- Contact : envoie un message sans cocher. Tu dois être bloqué. Puis avec la case : le mail part.
- Création de compte : même protocole. Vérifie qu’un compte n’est pas créé en base si le captcha est vide.
- Mobile : la case v2 fait 304×78 px. Sur Classic, elle passe parfois sous le bouton ; d’où le CSS plus bas.
- Newsletter / checkout (si activés) : un bot moderne s’inscrit souvent au tunnel, pas seulement sur
/connexion.
Si « ça marche chez moi en admin » mais pas en privé : cache, CDN (Cloudflare Rocket Loader qui casse le JS Google), ou module de perf qui concatène les scripts.
8. CSS : afficher proprement la case (Classic / Hummingbird)
Sur Classic, le widget se cale mal à droite / trop large en mobile. Colle ceci à la fin de themes/ton-theme/assets/css/custom.css (enfant, pas le parent que tu écrases à chaque update) :
/* Style reCAPTCHA - thème Classic (PS 1.7 / 8, parfois 9) */
.contact-form form .form-fields #captcha-box > div {
float: right;
}
.contact-form form .form-footer {
clear: both;
padding-top: 1rem;
}
@media screen and (max-width: 767px) {
#contact #left-column,
#contact #content-wrapper {
padding-left: 0 !important;
padding-right: 0 !important;
width: 100%;
}
.contact-form form .form-fields #captcha-box {
position: relative;
min-height: 78px;
}
.contact-form form .form-fields #captcha-box > div {
float: none;
position: absolute;
left: 50%;
top: 0;
transform: translate(-50%, 0);
}
}
@media screen and (max-width: 379px) {
.register-form form .form-group .g-recaptcha {
position: relative;
min-height: 78px;
}
.register-form form .form-group .g-recaptcha > div {
float: none;
position: absolute;
left: 50%;
top: 0;
transform: translate(-50%, 0);
}
}
Sur Hummingbird, ne copie pas ce CSS les yeux fermés : les classes ne sont pas les mêmes. Inspecte le DOM (#captcha-box, .g-recaptcha) et adapte. Un padding / min-height: 78px suffit souvent pour que le bouton d’envoi ne recouvre pas la case.
9. Honeypot, emails jetables, rate limiting : la couche 2
En 2026, les fermes à captcha existent. reCAPTCHA réduit le bruit, il ne le supprime pas. Sur le client des 200 comptes, le combo qui a tenu :
- reCAPTCHA v2 sur inscription + contact
- Honeypot : champ caché (CSS
left: -9999pxoudisplay:none), nom typeurl/website. Un humain le laisse vide. Un bot le remplit. Rejet côté serveur (hookactionSubmitAccountBefore/ contact), pas seulement en JS. - Emails jetables : yopmail, guerrillamail, tempmail, etc. Un module comme Tec Spam Guard le fait. Sinon une liste de domaines + rejet à l’inscription.
- Rate limiting : Cloudflare, Fail2ban, ou au minimum un WAF. 200 POST / heure sur
création de comptedepuis la même classe d’IP, ce n’est pas un client indécis.
Pour une première barrière « nom + URL dans le prénom », j’avais documenté des overrides Validate.php / Customer.php dans Comment protéger PrestaShop des comptes clients spams. Sur PS 8 / 9, je ne recopie plus ces overrides tels quels : le $definition a bougé. Captcha + emails jetables + honeypot, c’est plus maintenable qu’un override core figé en 2019.
10. Tu as déjà 200 faux comptes : comment nettoyer
- Back-office → Clients. Filtre par date d’inscription (les 48 h de la vague).
- Croise : 0 commande, domaines jetables, prénoms identiques, même IP.
- Exporte le filtre (CSV) avant de supprimer ; pour le support si un vrai client était dans le lot.
- Supprime. Ne vide pas toute la table clients.
- Vérifie la file mail (module mail, logs SMTP) : les 200 « bienvenue » ont peut-être déjà brûlé un quota.
- Ensuite seulement pose le captcha. Nettoyer sans fermer la porte, c’est recommencer mardi.
11. Ça ne marche pas : checklist de dépannage
| Symptôme | Cause fréquente | Quoi faire |
|---|---|---|
| Pas de case | Cache, mauvais thème, clé v3 dans un module v2, domaine absent | Vider cache + CDN. Vérifier le type de clé et www / non-www |
| Toujours refusé | Clé secrète inversée, firewall sortant vers Google | Recoller les clés. Tester siteverify depuis le serveur |
| OK en admin, KO en privé | Cache page, Cloudflare, minification JS | Désactiver Rocket Loader / combine JS sur les pages compte et contact |
| PS 9 : installé, rien | Module 1.7/8 sur Hummingbird | Module déclaré 9.x, test staging |
| Newsletter passe encore | Hook newsletter non géré | Activer l’option, vérifier ps_emailsubscription |
| Checkout guest sans captcha | L’inscription n’est pas /connexion |
Module qui couvre l’identité checkout (surtout en OPC PS 9.2) |
Thème lourd, checkout one-page, formulaire d’un module tiers : le captcha « contactform » ne s’y accroche pas tout seul. C’est du sur-mesure ; ticket d’intervention ou accompagnement freelance.
12. FAQ : reCAPTCHA PrestaShop 8 et 9
reCAPTCHA fonctionne-t-il sur PrestaShop 9 ?
Oui, à condition d’utiliser un module qui déclare PrestaShop 9 (et de tester sur Hummingbird si c’est ton thème). Ce n’est plus le copier-coller contact-form.tpl de PrestaShop 1.6. EiCaptcha 2.6 est le standard 1.7/8 ; la 3.x vise PS 9 ; vérifie les Releases GitHub le jour J.
Faut-il un module payant pour ajouter reCAPTCHA à PrestaShop ?
Non. EiCaptcha (GitHub) et plusieurs modules gratuits suffisent pour contact + inscription. Un module payant se justifie si tu veux support éditeur, Turnstile, blacklist, checkout et emails jetables dans la même interface.
reCAPTCHA v2 ou v3 : lequel choisir sur une boutique ?
v2 case à cocher pour démarrer : visible, débogable, efficace contre le brute-force d’inscription. v3 si tu veux zéro friction et que tu acceptes de régler un seuil (et de surveiller les faux rejets clients).
Pourquoi la case reCAPTCHA ne s’affiche pas sur PrestaShop ?
Dans l’ordre : cache (Smarty + Symfony + CDN), domaine Google incomplet (www), type de clé (v2 vs v3), JS Google bloqué par un module de perf, thème enfant qui n’appelle pas le hook. Teste en navigation privée après avoir vidé tous les caches.
reCAPTCHA suffit-il contre les bots en 2026 ?
Non, plus comme seule barrière. Les fermes à captcha existent. Combine captcha + honeypot + rejet des emails jetables + rate limiting. C’est ce combo qui a arrêté la vague des 200 comptes, pas la case toute seule.
Cloudflare Turnstile est-il mieux que Google reCAPTCHA ?
Souvent plus agréable (vie privée, UX). Il faut un module PrestaShop qui le parle (Tec Spam Guard le fait). Si ton module ne gère que Google, reste sur reCAPTCHA v2 ; un captcha qui marche bat une « meilleure » techno non branchée.
Comment supprimer 200 faux comptes clients PrestaShop ?
Filtre par date + 0 commande + domaines jetables, export CSV, puis suppression. Pose le captcha tout de suite après, sinon la vague revient. Ne vide pas toute la table clients.
reCAPTCHA ralentit-il le site ou le SEO ?
Le script Google s’ajoute sur les pages où le module le charge (contact, compte), pas sur tout le catalogue si tu configures correctement. Ce n’est pas un sujet Core Web Vitals de homepage. Évite « charger le script partout » sauf besoin réel.
Faut-il un captcha sur le tunnel de commande PrestaShop 9 ?
Si tu autorises la création de compte / l’invité au checkout, oui : les bots ne passent pas que par /connexion. Surtout avec un One Page Checkout. Vérifie que ton module couvre cette étape, pas seulement la page compte isolée.
Les clés Google reCAPTCHA sont-elles encore gratuites en 2026 ?
Oui pour un usage boutique classique, via le socle gratuit Cloud documenté par Google. Au-delà, facturation possible. Si tu exploses le quota, Turnstile ou un WAF devient plus intéressant qu’une case à 50 000 assessments.
Hummingbird change-t-il l’installation du captcha ?
Oui : autres templates, autres classes CSS. Un module pensé Classic peut s’installer sans rien afficher. Choisis un module testé PS 9 / Hummingbird, et n’applique le CSS Classic de ce tuto que si tes classes DOM matchent.
Où trouver un tuto reCAPTCHA PrestaShop 1.7 ?
L’ancienne version est ici : Ajouter reCAPTCHA v2 pour PrestaShop 1.7. Pour une boutique encore en 8 ou déjà en 9, reste sur cette page ; c’est le guide à jour.
13. Conclusion
Ajouter reCAPTCHA à PrestaShop, ce n’est plus un exploit FTP de 2016. En 2026, sur PS 8 et 9, la recette est : bonnes clés Google (v2 pour démarrer), module gratuit compatible avec ta version, tests en navigation privée, puis honeypot + emails jetables parce que la case seule ne tient plus face à une ferme de bots.
Si tes formulaires d’inscription et de contact ne sont pas protégés, tu n’as pas un « petit spam » : tu as une porte ouverte sur ta CRM et tes quotas mail. Ferme-la ce week-end.
Tu veux que je pose reCAPTCHA, honeypot et le nettoyage de vague sur ta boutique ; sans module payant inutile, avec un test staging ? Discutons-en →
Pour aller plus loin : politique de sécurité thèmes et modules, guide modules PrestaShop 2026, et le protocole skimmer 2026 si tu n’as pas audité ton tunnel de paiement ce mois-ci.
Bonjour,
j’ai tout bien fait mais je pense que la config coté google n’est pas complète.
Je cherche quelqu’un pour m’aider, pouvez-vous me faire un devis?
Je vous remercie
Bonjour,
Je vous remercie pour votre commentaire et d’avoir suivi le tutoriel.
Je comprends que vous rencontrez des difficultés avec la configuration côté Google.
Je peux bien sûr vous aider à vérifier et finaliser cette configuration.
Afin d’étudier votre demande et de vous faire une proposition de devis précise, je vous invite à me contacter directement via la page contact.
Bonne journée,
Bonjour,
Quel module captcha installer sur Prestashop 8 et où le trouver svp ?
Je vous remercie
Bonjour,
J’utilise ce module qui fonctionne bien et l’ergonomie est au top : https://prestashop.pxf.io/NkOEKb
Le petit plus, il est maintenu : la dernière mise à jour remonte à juillet 2024 !
Bonnes ventes 😉
Bonjour
j’ai suivi les etapes mais j’ai une erreur sur mon site, le captcha indique : « ERREUR pour le propriétaire du site : Type de clé non valide » je ne sais plus quoi faire.. j’ai trouvé des solutions sur internet mais très mal expliqué. avez vous une idée svp ? merci beaucoup
Bonjour Yohan,
Je pense que le souci provient du domaine indiqué dans la console recaptcha.
Vérifiez que votre domaine avec et sans www est indiqué dans la console.
Bonjour Arnaud, merci pour ce tuto ! J’allais me lancer dans le dev d’un module exactement comme celui ci.. Votre module est compatible avec la version Prestashop 1.7.8.7? Egalement je vois sur un screen que dans le back-office il y a une configuration pour l’activé sur la page de création de compte j’ai vue ?
Merci à vous.
Bonjour,
Vous pouvez utiliser ce module puisqu’il est disponible et compatible 1.7 sans souci.
Le back office est là pour enregistrer vos clés api recaptcha.
Bonjour,
J’ai bien installé le module sur prestashop 1.6, et il fonctionne bien sur mon formulaire de contact. Par contre l’image n’apparait pas sur le formulaire d’inscription, il y a juste le mot « Captcha » et l’inscription peut se faire directe.
Pouvez-vous m’aider ?
Merci d’avance
Bonjour Fred,
Avez-vous bien respecté toutes les étapes ?
Attention à utiliser reCaptcha v2 et non pas v3 aussi.
Je reponds a moi meme
ca fonctionne avec la syntaxe « fr, en » en telechargeant la derniere version du module V 2.3.1
Et voici la question / le problème pour les autres :
« Petite question si on a un site multilingue en fr/en on met quoi dans le champs « Force Captcha language »
J’ai essayé avec cette syntaxe : « fr, en » puis « fr; en » rien n’y fait? y a t-il une bonne syntaxe sinon par defaut je mettrais le recaptcha uniquement pour la version francaise »
Merci pour ce tutoriel, y-a-t-il un moyen de l’utiliser pour éviter aussi les spams sur l’inscription Newsletter ? Car c’est là que je me fais spammer
Bonjour,
Oui vous pouvez utiliser ce module PrestaShop pour bloquer les spams sur la newsletter : https://1.envato.market/Dazvd
Bonnes ventes !
Bonjour, Pouvez vous m’aider? J’ai installer recaptcha sur mon site, il est bien installé mais je reçois les mails que le robot soit coché ou pas. Comment je peux faire? Prestashop 1.7.5.0
Merci pour votre aide
Bonjour Adélaïde,
Vous utilisez PrestaShop 1.7 donc vous devez utiliser ce tutoriel : [PrestaShop 1.7] Ajouter reCAPTCHA v2 pour éviter le spam
Bon courage 😉
Bonjour, je l’ai installé sur un site sans problème (Presta 1.6). Sur un autre en version Prestashop 1.5.3 impossible de le faire fonctionner sur le formulaire de contact (il n’apparait pas) par contre il fonctionne très bien avec le formulaire de création de compte.
Du coup c’est qu’il est à priori bien installé (clef, modification de codes etc…). Là je suis perdu !
J’ai testé avec plusieurs versions du module jusqu’à la 0.4.16 sans succès…
Bonjour Stephane,
Le module reCaptcha sur cet article est compatible avec PrestaShop 1.6.
Voici le lien du [PrestaShop 1.7] Ajouter reCAPTCHA v2 pour éviter le spam.
Ces modules n’ont pas été testés sur PrestaShop 1.5 mais je doute fort qu’ils fonctionnent car le thème en front office n’est pas le même qu’en 1.6 et 1.7.
Je peux regarder via une intervention si besoin.
A bientôt !
bonjour,
Ce plugin est il compatible avec la versioo,n 1.7 de PS ? Les fichiers de templates à modifier sont apperement ddifférents.
Bonjour,
Utilisez ce module recaptcha PrestaShop 1.7 pour votre site 🙂
Bonjour,
J’utilise votre module, j ‘ai suivi les indication, mais j’ai toujours un message d’erreur pour le recaptcha.
Google me signal que la clé n’est pas valide?
Bonjour,
Dans ce cas, vérifiez bien les clés fournies par Google et régénérez-les si besoin.
Bonjour Arnaud,
Nous avons installé Captcha comme beaucoup ici, il fonctionne très bien sauf pour la fonctionnalité qui nous intéressait « CRÉEZ VOTRE COMPTE », je suis un peu larguée.. j’ai eu beau le desinstallé, rien ni fait.. Pourrais-je avoir votre regard d’expert ?
Merci beaucoup par avance,
Chloe
Bonjour Chloé,
Contactez-moi par e-mail pour que je puisse voir ce que vous avez fait et ce qu’il reste à faire : formulaire de contact
Bonjour Arnaud,
Je viens d’installer votre module eicaptcha version 0.4.3 sur Prestachop 1.6.1.7.
Il fonctionne parfaitement et vous remercie pour votre contribution.
Je souhaiterai savoir s’il y a beaucoup de modifications pour également avoir le Captcha sur le formulaire d’inscription.
Merci d’avance,
Pascal
Bonjour Pascal,
Voici le lien du tuto PrestaShop : Comment protéger PrestaShop des comptes clients spams ?
A bientôt !
Bonjour Arnaud,
j’ai le meme problems que Julien. Je suis sapé par de la création de compte. J’ai basique ment essayé d’intégrer le même bout de code dans le fichier authentication.tpl mais bien entendu ce n’est pas si simple…
Pourrais-tu m’orienter ?
Merci!
Sebastien
Bonjour Sébastien,
Merci pour le commentaire.
J’ai publié un tutoriel pour bloquer les comptes clients spams dans PrestaShop, tout est indiqué 🙂
A bientôt !
Bonjour je n’arrive pas et ça commence à me soûler.. il me met « ERREUR pour le propriétaire du site : Type de clé non valide » tout est correctement bien indiqué…
Bonjour odbe30,
Dans ce cas, il faut bien faire attention que les clés fournies par Google soient les mêmes que celles indiquées dans le module PrestaShop.
Courage 🙂
Bonjour,
J’ai eu le même problème. Je les ai régénérés en V2 au lieu de v3. Mon problème a été résolu
Bonjour, j’ai mis en place votre solution sur notre site car j’avais des créations de comptes indésirables.
J’ai depuis reçu de nouveaux des comptes frauduleux m^me avec le captcha. Est-ce normal ? Je suis sur prestashop 1.6.1.23
Bonjour Julien,
Le tuto traite le problème des messages spams envoyés par le biais du formulaire de contact.
Je vais rédiger un tuto pour les spams liés à la création de comptes clients.
Bonjour
J’ai ce message d’erreur : ERROR for site owner: Invalid site key à la place de la case à cocher de mon Captcha.
J’ai vérifié plusieurs fois et j’ai bien mis la clé publique sur le site et le module est bien configuré.
Version de PrestaShop 1.6.1.2
Version de MySQL 5.5.60
Version de PHP 5.6.40
Qu’est ce que j’ai pu oublié?
Pascal
Bonjour Pascal,
Dans votre cas c’est les clefs Google qui ne semble pas correctes, voir aussi le champ nom de domaine du côté de Google, il faut qu’il y ait votre nom de domaine avec et sans les www.
Un grand merci pour le tuto et le module.
Installé sur un PS 1.5, aucun problème !
Bonne journée
Bonjour Arnaud
Merci pour ce tuto. Cela fonctionne en V2, mais pas en V3.
Bonne journée
Merci, marche tres bien sauf pour des sites multilingues.
Il faut evidement traduire le message d erreur. Mais aussi modifier le fichier eicaptcha.php et ajouter la variable hl de google :
var onloadCallback = function() {grecaptcha.render(« captcha-box », {« sitekey » : « ‘.Configuration::get(‘CAPTCHA_PUBLIC_KEY’).' », « hl » : « ‘.$this->context->language->iso_code.' »});};
Le captcha apparaitra alors dans la langue du site courant.
Merci pour la contribution Pierre 🙂
Bonjour et merci pour vos explications 🙂
J’ai installé le Captcha puis paramatré avec mes clés publique et privé ReCAPTCHA Google.
Le Captcha apparait bien dans mon formulaire d’inscription (création de compte), cependant il n’est pas requis…. C’est à dire que les visiteurs peuvent envoyer le formulaire sans cliquer le captcha. Avez-vous une solution à ce problème ?
Merci à vous
Andréa
Bonjour Andréa,
Vous pouvez essayer ce tuto pour stopper les spams russes dans PrestaShop.
A bientôt !
Bonjour, j’ai suivie la procédure et tous s’est bien passé, même si je reçois encore quelques message russes.
Par contre je ne reçois plus les notification par mail pour toutes nouvelles commande.
Une petite idée pour résoudre le problème ?
Merci
Bonjour Julien,
Je ne pense pas que se soit lié, peu être un blocage au niveau de l’hébergement, à voir avec eux 😉
Bonsoir,
Merci infiniment pour cette méthode qui semble avoir régler mon problème. Depuis plusieurs jours, alors que le captcha est installé, je recevais des messages www. de robots russes et impossibles de s’en débarrassé.
Vanessa
bonjour,
j’ai installé votre module il y a quelque mois il fonctionnait bien et depuis quelques jour ça recommence 200 mails russe par jours.
j’ai fait un test en désactivant le javascript de mon navigateur et c’est vrai que le formulaire fonctionne sans le recaptcha ? le probleme vient t’il d’ici?
merci
Bonjour Christophe,
Les spams évoluent aussi une solution qui marchait peut ne plus fonctionner selon le spam qu’on a en face.
Je suis en train de tester une nouvelle approche sur ces spams russes.
Je posterai la solution si elle est fonctionnelle.
A très vite 😉
Questions complémentaires :
– mon site est en EN+FR comment traduire « je ne suis pas un robot », je ne trouve pas les bonnes mentions dans Localisation/traduction ?
– Est-ce qu’il est possible de personnaliser le design avec theme= »dark » ou data-theme= »dark » ?
Merci
Bonjour Pierre,
Merci pour ton commentaire.
La mention est traduite directement via le script Google.
Pour le thème du captcha, voici la doc https://developers.google.com/recaptcha/docs/display#render_param, et donc il est possible d’ajouter le paramètre comme suit dans le fichier eicaptcha.php
var onloadCallback = function() {grecaptcha.render("captcha-box", {"sitekey" : "'.Configuration::get('CAPTCHA_PUBLIC_KEY').'", "theme" : "dark"});};A bientôt 🙂
Bonjour,
J’ai installé le module. Sans modifier le fichier de thème le captcha s’affiche sur la page de contact. Cependant, les spams passent encore. J’ai testé avec un script curl qui fait une requête post sur le formulaire, ça passe sans soucis comme si il n’y avait pas de captcha. Quel est le soucis ?
Bonjour Milano57,
Merci pour ton retour.
Je conseille dans un premier temps de changer l’url de la page contact.
Pour la soumission via un post, en effet c’est possible mais les spams évoluent vite donc difficile d’avoir une solution fiable sur le long terme 😉
Bonjour Arnaud,
Installation / test : ça fonctionne du premier coup (PS 1.6.0.14).
Génial, merci beaucoup pour votre travail !
Pierre
Merci pour ce tuto, par contre j’ai copier/coller le dossier dans www/modules mais il n’apparait pas coté back de l’administration… je suis en version 1.6 merci
Bonjour iteeech,
Attention au nom du dossier du module décompressé : il doit s’appeler « eicaptcha ».
Sinon vous devez peu être avoir un cache actif.
Bonjour,
Savez-vous s’il serait possible de créer un recaptcha google sur les formulaires de confirmation de commande des modules virement bancaire et chèque de PS 1.6 ?
En effet, je me fais spammer de fausses commandes dès qu’ils sont activé (j’ai déjà des captcha en place sur les pages de contact, d’authentification, de newsletter, bo… malgrès cela ils arrivent à créer un faux client (peut être à la main ^^) et me spam de 500 commandes en quelques minutes…
Merci par avance pour toute information complémentaire.
Bonjour Robin,
Merci pour le commentaire,
Alors je n’ai jamais eu ce cas particulier d’autant qu’il faut être connecté pour accéder au paiement.
Il est possible je pense avec un peu de développement d’ajouter le recaptcha de Google.
Bonjour,
Je viens d’installer le module et faire la configuration, j’ai bien le capta… mais il ne sert à rien car l’il n’empeche pas la validation du formulaire.
Je peux toujours valider le formulaire de contact, rien ne change.
Si vous avez une idée..
Bonjour Nicolas,
Malgré une parade relevé par certains via Javascript désactivé, le captcha via ce module gratuit est affiché et bloque bien l’envoi du formulaire.
Avec l’outil de debug de Chrome, vérifiez que vous n’avez pas d’erreur sur votre page dans un premier temps 😉
Merci beaucoup pour ce tuto tres explicite, depuis quelques temps j’etais envahi de spam mail venant de russie dans mon service client.
Avec plaisir 😀
Bonjour,
Super addon. Merci pour le partage et le tuto. Par contre, j’ai tout de même tenté sur une version 1.7.3.2 de prestashop, malgré la précision (1.6.*)… Le module est bien installable et configurable, mais je me retrouve face à deux soucis majeurs :
– le captcha n’est pas affiché sur le module natif « contact » de la version 1.7 …
– un bug sur la page d’enregistrement de compte client : le captcha nous force à cliquer sur un choix de newsletter au lieu de la case du captcha lui-même (lol) …
Auriez-vous une solution à m’apporter ?
Bien cordialement,
Bonjour,
J’ai écrit un tuto pour installer un captcha pour PrestaShop 1.7 et c’est ici : [PrestaShop 1.7] Ajouter reCAPTCHA v2 pour éviter le spam
A bientôt 🙂
Woot …. Je me sens bien bête, d’un coup … La prochaine fois, je ferai plus de recherches avant de poser des questions !!!
Merci en tous cas ^^
@ bientôt :=)
Pas de souci 😀
Bonjour,
J’ai installé le recaptcha en suivant votre tuto et quand j’utilise mon formulaire, j’ai le message suivant :
« Il y a 1 erreur
GET OUT BOT!! »
Avez une idée de la source de ce problème ?
Ne fonctionne pas correctement : si on désactive javascript ou que l’on supprime le captcha via l’inspecteur d’éléments, le mail part sans problème (un robot ne vas pas nous demander notre avis pour désactiver javascript …)
Je penses qu’il manque un contrôle de la validité du captcha dans le controler comme le requier Google Recaptcha et comme suggéré dans ce tuto : http://kris.talkplus.org/2017/how-to-integrate-recaptcha-in-prestashop-in-3-step/
Et encore ce qui est proposé dans le lien ci-dessus est insuffisant. Il faut s’inspirer de ce code pour le controle de recaptcha : https://www.kaplankomputing.com/blog/tutorials/recaptcha-php-demo-tutorial/
Merci Fabien pour le commentaire, avez-vous mis à jour le module pour en faire bénéficier d’autres utilisateurs ?
bonjour, j’ai installé le RECAPTCHA depuis quelques mois et je m’appercoie que je suis encore spammée car il ne fonctionne pas sur internet explorer.
ai je mal fait un point ? Avez vous une solution ? merci
Julie
Bonjour Julie,
Le module nécessite javascript pour fonctionner, comme PrestaShop d’ailleurs.
Est-ce que IE ne le bloque pas ? Si oui, il faut l’autoriser.
Bonjour !
Viens d’installer le module. Captcha fonctionne correctement mais j’ai les 2 lignes d’erreurs au dessus du captcha
Notice: Undefined index: captcha in /home/sportevecr/www/tools/smarty/sysplugins/smarty_internal_templatebase.php(157) : eval()’d code on line 253
Notice: Trying to get property of non-object in /home/sportevecr/www/tools/smarty/sysplugins/smarty_internal_templatebase.php(157) : eval()’d code on line 253
Comment rectifier ceci ?
Merci d’avance !
K.
Bonjour,
Avez-vous les erreurs activées via le mode debug ? C’est pour cela que les notices s’affichent.
Sinon, il semblerait que dans votre cas « captcha » ne soit pas défini d’où la notice.
Le captcha doit fonctionner même avec ceci, non ?
Bonsoir,
Je viens de suivre le Tuto, j’ai bien le reCATPCHA en page « nous-contacter », par contre il s’est mis tout seul, je n’ai pas eu besoin de mettre le code dans le fichier TPL c’est étrange ou cette situation est normal?
Sandra
Bonjour Sandra,
C’est tout à fait normal,
Je précise la manipulation dans le code au cas où cela ne fonctionnerait pas sans 😉
A bientôt !
Bonjour, j’ai fait les modifs sur un prestashop 1.5.5.0, tout fonctionne, sauf que si on ne clique pas sur le captcha, j’ai bien le message d’erreur, par contre le bouton submit disparait ! j’ai essayé de rajouter des lignes sous le captcha mais rien n’y fait !!!
Bonjour Laurence,
Merci pour votre commentaire,
Envoyez-moi un e-mail pour vous faire un retour 😉
Je viens de le supprimer, de re-vider le cache, désactiver tous les caches …
et idem :
Il y a 1 erreur
Une erreur s'est produite pendant l'envoi du message
Bonjour,
Dans ce cas, vérifiez bien que vous avez suivi toutes les étapes car si vous respectez tout à la lettre ça fonctionne 😉
Bonne journée
Bonjour,
je ne parviens pas à faire fonctionner le module …
Voici le message qui apparaît :
Une erreur s’est produite pendant l’envoi du message
prestashop 1.6.1.18
quand je vérifie si le module est bien installé j’ai une erreur :
the module is not registered in hook header
mais dans les positions de modules il est bien dans displayHeader
j’ai bien modifié les fichiers contact-form.tpl comme ceci :
{if $captcha}
{/if}
{l s=’Send’}
et ContactController.php comme ceci :
if (!($from = trim(Tools::getValue(‘from’))) || !Validate::isEmail($from)) {
$this->errors[] = Tools::displayError(‘Invalid email address.’);
} elseif (!($gcaptcha = (int)(Tools::getValue(‘g-recaptcha-response’)))) {
$this->errors[] = Tools::displayError(‘Captcha error’);
} elseif (!$message) {
et vidé le cache …
je comprends pas …
merci par avance pour votre aide
Bonjour centaurenet,
Merci pour le commentaire,
Avez-vous bien supprimé le fichier class_index.php ?
Bonjour,
non … je n’ai pas lu qu’il fallait supprimer ce fichier … il se trouve où ?
merci
Bonjour,
Il est pour PrestaShop 1.6 dans www/cache/
Bonjour,
Pour ceux qui ont rencontré le problème de la validation côté serveur (captcha ignoré en cas de javascript désactivé), voici une solution testée et fonctionnelle sur un Prestashop 1.6 :
Ouvrir controllers/front/ContactController.php (ou son override pour les meilleurs)
Chercher la ligne $this->errors[] = Tools::displayError(‘Invalid email address.’);
Ajouter juste après le code suivant :
} elseif (!($gcaptcha = (int)(Tools::getValue(‘g-recaptcha-response’)))) {
$this->errors[] = Tools::displayError(‘Captcha error’);
Done !
Bonjour Valentin,
Merci pour ton retour,
J’ai testé et ça fonctionne bien en effet, au top !
A bientôt 🙂
Bonjour,
Merci pour le tuto facile à mettre en place mais effectivement pas à l’épreuve des russes 🙂
J’ai tenté la manip de Valentin mais ça me plante la page contact. Je ne suis pas expert en code mais une fois les guillemets corrigés, ça ressemble à du code dans mon éditeur… une idée?
Merci!
PS 1.6
eicaptcha 0.4.3
Bonjour Christophe,
Merci pour votre commentaire,
Je n’ai pas pu tester la modification de Valentin mais vous pouvez activer le mode debug de PrestaShop pour savoir d’où vient l’erreur et la corriger 😉
Bonjour Christophe,
Effectivement il faut corriger les guillemets dans mon exemple de code (qui ont été rajoutés lorsque j’ai envoyé le commentaire sur le blog).
Peux-tu nous envoyer ton code avec quelques lignes supplémentaires au dessus et en dessous du code que j’ai proposé pour que nous puissions y regarder de plus près ?
Attention aussi aux accolades dans mon code, qui ne sont pas nécessaires sur certaines versions prestashop.
Bonjour
J’ai essayé sans les accolades et ça marche parfaitement désormais,
Un grand merci!!
Bonjour Valentin,
J’ai essayé votre solution car les spams russes passent toujours mais je ne sais pas comment corriger cette histoire d’accolades et/ou de guillemets ?
Lorsque je mets votre code, page contact est blanche.
Merci pour votre aide 🙂
Bonjour Perrine,
Merci pour le commentaire,
Activez le mode debug pour voir l’erreur générée 😉
A bientôt !
Bjour jai la version 1.7.2 est ce compatible svp? ( je suis completement novice ) merci de votre reponse …
Bonjour,
Utilisez la version pour 1.7 : captcha pour prestashop 1.7
Bonjour, juste ce petit commentaire pour vous remercier d’avoir pris le temps de faire ce petit tuto qui m’a fait gagner du temps, ça marche nikel.
Avec plaisir 🙂
Bonsoir Arnaud,
Merci pour votre retour.
J’ai suivi vos conseils, j’ai désinstallé le module, j’ai tout repris à la lettre, étape après étape.
Le problème est identique.
Est-ce correcte? : dans:/www/themes/theme1206/contact-form.tpl
ligne 151
{if $captcha}
{/if}
{l s=’Send’}
à la place de clé du site, j’ai mis le code.
J’ai vidé le cache dans le back office et rafraîchit ma page.
Mais l’erreur est toujours là.
Merci pour votre aide
Bonjour Ludo,
Je peux installer le captcha via la réservation d’un ticket si vous le souhaitez en cliquant sur le lien : ticket intervention PrestaShop.
A bientôt !
Bonjour Arnaud,
Merci pour ces tutos, je n’y connaît absolument rien en code, voir en informatique!
J’ai réussi en suivant a la lettre le tuto pour la modification du formulaire de contact.
Non sans mal, mais le résultat est là !
Pour captcha, cela fonctionne pour la création de compte, mais pas avec le formulaire de contact.
j’ai ce message d’erreur:
Notice: Undefined index: captcha in /home/lpmotofrwx/www/tools/smarty/sysplugins/smarty_internal_templatebase.php(157) : eval()’d code on line 175
Notice: Trying to get property of non-object in /home/lpmotofrwx/www/tools/smarty/sysplugins/smarty_internal_templatebase.php(157) : eval()’d code on line 175
c’est grave docteur?
Merci
Bonjour Arnaud,
je reviens vers vous, car mon formulaire contact est bloqué, est-ce que j’ai fait une erreur en suivant le tuto?
car le message erreur est toujours le même.
merci pour votre retour.
Bonne journée
Bonjour Ludo,
Je vous invite à désinstaller le module puis reprendre les étapes 1 à 1 pour afficher un captcha fonctionnel.
Bonne journée
Bonjour, je voudrais vous remercier pour ce tuto tres bien fait. J ai prestashop 1.6.0.6 et j’ai installe captcha en 5 minutes grace a vous (et je suis novice).
je vais chercher comment permettre une traduction mais sinon c’est parfait. Merci beaucoup pour ce post. Leti
Avec plaisir 🙂
Merci Arnaud, very nice job, module qui marche à la perfection, tuto simple, clair et précis, réponse aux petits soucis et des commentaires. Je vous recommande sans hésiter. Greg
Merci pour le retour 🙂
Comme d’autres, les spams contournent le reCaptcha, si ils n’ont pas JS.
Dans le message de WEBDEV du 28 février 2018, il semblait qu’il y ai une solution :
» Après vérification, cela ne pose plus de soucis sur la dernière version 0.4.12 du plugin eicaptcha.
https://github.com/nenes25/eicaptcha/releases/tag/0.4.12 »
J’ai donc désinstallé ma version V0.4.3, puis tenté d’installé cette 0.4.12
Pour ma part la tentative d’installation a été un échec et fait bugger mon prestashop (plus possible d’accèder aux modules). Je suis en Prestashop 1.6.5
J’ai supprimé les 2 dossiers qui avaient été créés lors de la tentative d’installation et c’est revenu à la normal.
J’ai ensuite ré-installé la version V0.4.3.
(je suis donc revenu à la version initiale… mais du coup au problème initial également)
Bonjour,
Sous PS 1.6.1.4
J’ai procédé à l’installation et les messages arrivent toujours
Le captcha ne s’affiche pas ? sauf si on est connecté avec un compte client (mais visiblement traité quand même) et du coup impossible d’envoyer un message dans ce cas
Avec une identification , cela fonctionne, tout s’affiche et le message peut-être envoyé après validation du Captcha.
Incroyable
Merci
Bonjour Arnaud,
Merci pour ce tuto !
Cependant, j’ai un petit souci sur mon formulaire, avec les balises IF le bloc captcha ne s’affiche pas, mais sans les IF il s’affiche bien mais il ne fonctionne pas correctement, c’est-à-dire que l’on peut soumettre le formulaire sans cliquer sur le captcha. Au final, le captcha ne me servirait à rien contre les spams, comment faire pour remédier à cela ?
Merci
Bonjour Oskarwp, faites attention à bien préciser les domaines et sous-domaines dans la configuration de recaptcha puis de vérifier les clés collées dans le module 😉
Merci pour votre réponse rapide !
Ok, je vérifierai cela. Une autre question : est-ce que ce captcha est intégrable sur un formulaire créé avec un autre module que contact form ?
Bonjour,
Ce module ne bloque pas les utilisateurs avec le JavaScript désactivé / non JS.
Comme une grande partie des bots ne supporte pas le JavaScript, ils vont passer le formulaire vu que le module ne fonctionnera pas sans JavaScript.
Au niveau de PHP POST, il faudrait bloquer le formulaire de contact si les données recaptcha sont vides.
C’est probablement la cause pourquoi vous avez le message sur le site de Google recaptcha :
« We detected that your site is not verifying reCAPTCHA solutions. ».
Car en effet, au niveau de PHP (PrestaShop) il n’y a pas de blocage, seulement au niveau de JavaScript.
Les bots sans JavaScript passeront le formulaire.
Cordialement
Après vérification, cela ne pose plus de soucis sur la dernière version 0.4.12 du plugin eicaptcha.
https://github.com/nenes25/eicaptcha/releases/tag/0.4.12
Bonjour,
L’installation a bien fonctionné, mais j’ai ce message au dessus du captcha dans mon onglet contact.
Notice: Undefined index: captcha in /home/gnoufi/public_html/cache/smarty/compile/61/e0/71/61e071ed9ba139ab1a96fd742b888517a9c8af8a.file.contact-form.tpl.php on line 258
Notice: Trying to get property of non-object in /home/gnoufi/public_html/cache/smarty/compile/61/e0/71/61e071ed9ba139ab1a96fd742b888517a9c8af8a.file.contact-form.tpl.php on line 258
ma version Presta 1.6.1.5.
La condition que vous proposez plus haut :
« {if isset($captcha) && $captcha} {
}
est ce que je peux l’utiliser pour ma version de prestashop
si oui
ou est ce que je dois la mettre dans fichier ? dans quel dossier ?
Bonjour Mélanie,
Vous devez avoir activé le debug pour avoir les Notice affichées, voir cet article pour activer ou désactiver le debug avec PrestaShop. Je n’ai pas testé mais par défaut, pas besoin de condition particulière pour que le module fonctionne.
Bonne journée 🙂
Bonjour,
J’ai suivi le tuto à la lettre, mais malheureusement le Captcha ne s’affiche pas (je suis sur Prestashop 1.6.1.5). J’ai également suivi ce tuto pour d’autres sites et ça a fonctionné parfaitement. Bizarre…
Pouvez-vous m’aider ? Merci d’avance.
Bonjour Audrey,
Difficile à dire. Vous avez peu être un conflit avec un autre module / override / script sur ce site web.
A bientôt 🙂
Ok, je vais creuser cela, merci pour votre retour ! Bonne journée.
Bonjour,
Sur Presta 1,4, il il se charge, puis il s’installe, mais ne peut se configurer (page vierge au clic sur « Configurer ») Y a t’il une version pour 1.4 ?
Merci
Bonjour Djill,
Le module est compatible 1.5 et 1.6 mais je ne pense pas qu’il soit compatible avec la version 1.4 malheureusement 😉
Bonjour et merci pour ce tuto.
Pour ma part ce sont des spams en provenance de Russie qui sont le problème.
Voici un petit retour sur l’usage de ce tuto qui peut être utile à d’autres.(sur prestashop 1.6)
J’ai installé la première version eicaptcha (donnée en lien à l’étape 2 de ce tuto). L’installation a bien fonctionné mais pendant 1 heure environ ensuite j’ai encore eu des spams (j’avais vidé le cache prestahop et actualisé ma page en front). J’en ai déduit que lesdits moteurs avaient peut-être conservé la page web précédente non actualisée et que cela leur avait permis d’entrer sans utiliser le test.
J’ai eu 2 jours de répit et progressivement les spams ont recommencé en s’intensifiant.
Hier soir j’ai supprimé le module et voulu installer le module eicaptcha-master.(renommé) Je n’ai pas réussi à finaliser l’installation, j’avais un message me demandant d’installer la dernière version. J’ai tout supprimé et réinstallé la première version du module.
Depuis je n’ai plus de spams. Je ne sais pas pour combien de temps mais apparemment le fait de désinstaller et réinstaller à un effet.
D’ailleurs si quelqu’un à une explication, je la veux bien car j’aime bien comprendre.
Bonjour, s’il faut modifier des fichiers pour utiliser le module autant ne pas utiliser de module et utiliser le code google. https://developers.google.com/recaptcha/
Bonjour,
Par défaut il n’y a pas besoin de modifier les fichiers avec le module recaptcha simple pour PrestaShop 1.6 😉
Bonjour et merci pour le tuto
Avez vous trouvé une solution a la désactivation de java
cordialement
andree
Bonjour Andree,
Une piste à essayer : changer l’url de la page contact puis installer ce module : fail2ban.
Non testé à ce jour pour info.
Bonjour Arnaud et merci.
Cela fonctionne parfaitement bien pour les messages manuels, mais je confirme les autres commentaires : c’est TOTALEMENT INEFFICACE contre les attaques automatisées.
Ce serait bien de modifier votre article en précisant cela.
Cordialement,
Frédéric
Bonjour Frederic,
Avec plaisir, dans certains cas le module ne peut pas bloquer le spam, j’ai vu passer une piste que je n’ai pas encore testé : changer l’url de la page contact puis installer ce module : fail2ban. Non testé sur PrestaShop 1.7. A bientôt 🙂
Bonjour et merci pour ce tuto qui nous a bien dépanné suite à une attaque de spams Russes :/
Après une semaine de tranquilité, nous avons de nouveau été attaqué mais uniquement via le formulaire envoyé à « Webmaster ».
Le re-captcha est bien présent.
s’agit-il d’un problème connu ?
Merci d’avance et à bientôt.
J’ai également ce message sur la page recaptcha de Google:
« We detected that your site is not verifying reCAPTCHA solutions. This is required for the proper use of reCAPTCHA on your site. Please see our developer site for more information. »
Bonjour Xeb,
Essayez aussi à la place du module reCaptcha de changer l’url de la page puis d’installer ce module : fail2ban.
Bonjour. Je suis également la cible des Russes. Il semble donc que l’attaque soit de grande ampleur. Pour ma part l’installation de Recaptcha n’a rien changé, sauf la première journée, mais comme j’ai vu que pour moi ça ne fonctionnait pas sur Internet Explorer, ça ne m’étonne donc pas vraiment.
Par contre, petite question subsidiaire : comment change-t-on l’url d’une page sous Prestashop ?
Bonjour Jérôme,
Pour changer l’url, rendez-vous dans le back office de PrestaShop 1.6 > préférences > SEO & URLs. Vous avez alors la liste des pages dont la page contact pour laquelle vous pouvez changer le lien.
Pour PS 1.7, c’est dans paramètres de la boutique > trafic et SEO.
Bonne journée 🙂
Merci pour ces infos.
Pour ma culture personnelle : quelqu’un sait-il quel est l’objectif de ce mails Russe ?
Car à part pourrir ma boîte email je ne vois pas bien l’objectif ?
Bonjour et merci pour ce tuto. Super simple, très bien expliqué et je suis un débutant de chez débutant, aucune notion de quoi que ce soit, pour vous dire je ne sais toujours pas ce qu’est un fichier tpl et pourtant j’ai réussi. Un vrai grand merci pour ce partage. Fabrice
Bonjour Fabrice, avec plaisir si ça peut aider 😉
J’ai résolu le problème il faut ajouter quelques lignes dans le fichier ContactController.php. Merci
Bonjour, Merci pour ce partage qui fonctionne, sauf un petit soucis je peu envoyer le message ? le captacha ne bloque pas ?
Bonjour, Merci pour ce partage qui fonctionne, sauf un petit soucis je peu envoyer le message ? le captacha ne bloque pas ? Merci
Bonjour,
L’installation a bien fonctionné, mais j’ai ce message au dessus du captcha dans mon onglet contact.
Notice: Undefined index: captcha in /home/gnoufi/public_html/cache/smarty/compile/61/e0/71/61e071ed9ba139ab1a96fd742b888517a9c8af8a.file.contact-form.tpl.php on line 258
Notice: Trying to get property of non-object in /home/gnoufi/public_html/cache/smarty/compile/61/e0/71/61e071ed9ba139ab1a96fd742b888517a9c8af8a.file.contact-form.tpl.php on line 258
ma version Presta 1.6.1.5.
La condition que vous proposez plus haut :
« {if isset($captcha) && $captcha} {
}
est ce que je peux l’utiliser pour ma version de prestashop
si oui, ou est ce que je dois la mettre
Merci pour votre réponse
Bonjour, Oui tu peux, tu dois ajoute les codes de Google sur Header et contact-form.tpl
Bonjour.
Merci pour ce petit tuto simple et bien utile.
Pour ma part je suis en prestashop 1.6.1.5.
Le seul bémol, est que lorsque je le test sous Safari , il faut bien cocher le captcha mais ça le valide directement sans faire apparaitre les images.
Et sur Internet Explorer , le captcha n’apparait pas et ça envoie bien le message.
Bonjour Jérôme,
Recaptcha n’affiche pas forcément les images comme c’est indiqué sur https://www.google.com/recaptcha/intro
Pour IE, voyez si vous n’avez pas une erreur JS par exemple.
A bientôt 🙂
Bonjour j’ai respecte le tuto et je fais tous finalement j’arrive d’afficher parti reCaptch mais ca marche pas
Bonjour Mediazain,
Il faudrait me dire exactement ce qui ne marche pas pour vous donner une réponse précise 😉
Bonjour,
Je viens d’installer le captcha en suivant votre tutoriel. Cela fonctionne du premier coup sans problème merci beaucoup !
Bonjour,
Ce module fonctionne pour du prestashop 1.7 ?
Bonjour Bob,
Pour PrestaShop 1.7, c’est par ici : [PrestaShop 1.7] Ajouter reCAPTCHA v2 pour éviter le spam 😉
Bonjour,
j’ai installé le module en suivant scrupuleusement la procédure.
La page de mon formulaire m’indique « Impossible de contacter le service reCAPTCHA. Veuillez vérifier votre connexion avant de réessayer. » sans afficher la div re-captcha.
Quelque chose m’échappe….
Bonjour,
Vous avez dû manquer un point aussi peu être que les clés sont erronées.
Bonjour Arnaud,
Encore une fois un énorme merci pour ce tutoriel juste parfait qui permet de mener à bien cette mission soi-même !
Bonne continuation,
Marvin
Avec plaisir Marvin 🙂
Bonjour Arnaud,
Merci pour ton tuto, cela fonctionne à peu près! En effet sur explorer j’ai pas de souci, mais avec mozilla, le captcha apparait que lorsque j’actualise la page. Une idée du souci? De plus les spams continue malgré ça donc il ne dois pas s’afficher correctement à temps. Merci
Bonjour Frédéric,
Vous pouvez essayer à la place du module reCaptcha de changer l’url de la page puis d’installer ce module : fail2ban.
Bonjour Arnaud, et bien écoute, je remis mozilla au réglage par défaut et vider le cache et pour le moment cela fonctionne. Je garde ta solution au cas ou cela reviens. Merci à toi.
Bonjour , cette méthode s’adapte elle pour une version presta 1.6.1.0?
je vous remercie 🙂
Bonjour Hilda,
Oui cela fonctionne en 1.6.1.0.
A bientôt !
Bonjour,
J’ai suivi votre tutoriel à la lettre, le reCapatcha s’affiche et est requis pour envoyer le message seulement il ne fait pas la différence entre humain et robot … je continue de recevoir une 50aine de message du même spammeur … Je suis allé dans le back office de reCaptacha et il y a ce message d’alerte : We detected that your site is not verifying reCAPTCHA solutions. This is required for the proper use of reCAPTCHA on your site. Please see our developer site for more information.
Comment régler ce problème ? Merci d’avance 🙂
Bonjour Gilles,
Une autre solution contre le spam sous PrestaShop testée fonctionnelle : changer l’url de la page contact puis installer ce module : fail2ban.
Hello Arnaud,
your module is very interesting and I installed it. The module shows reCaptcha box but the SEND button is not shown (see https://snag.gy/ZA7qOv.jpg)
Tested in Chrome and Firefox, using PrestaShop 1.6.1.5
Can you help fix my problem?
Thanks
Navid
Hello Navid,
Thanks for comment. As I haven’t the source code, I can’t tell you what’s wrong. Could you send me an e-mail with all details please ?
Regards
A la suite de mon commentaire précédent voilà ce que je peux ajouter. Après avoir cliqué sur envoyer j’ai cette erreur qui apparaît dans la console : Uncaught Error: Invalid ReCAPTCHA client id: 0.
Merci
Bonjour,
Merci pour ce module mais j’ai un soucis.
Il fonctionne très bien sur mon sous domaine mais pas sur mon domaine principale. J’ai effectué les mêmes manip, j’ai désinstallé – réinstallé mais impossible de le faire fonctionner.
Le problème est que l’on peut envoyé le mail sans valider le captcha.
Une idée sur d’où ça pourrait venir ?
Merci d’avance.
Bonjour Rafik,
Attention à bien indiquer tous les domaines et sous-domaines lorsque vous demandez une clé à Google pour reCaptcha.
Bonne journée.
Bonjour,
Merci pour ce module !
Cependant, si on n’utilise pas le captcha, on a aucun message d’erreur : https://www.led-flexible.com/nous-contacter
Est-ce normal ?
Bonjour Mikael,
Il doit y avoir un souci de script car sur ce site avec le module le message d’erreur apparait bien : http://www.framapack.fr/fr/contactez-nous
Vérifiez bien l’installation complète 😉
Très bien, merci.
Bonjour,
j’ai une erreur 500 après la validation du formulaire de contact, du coup ça stop le spam… mais plus personne ne peut me contacter, avez vous une idée du problème ?
Bonjour Jimmy,
FR-MHS a répondu à ce sujet précédemment dans les commentaires pour faire gagner du temps aux autres justement 🙂
A bientôt
je viens d’installer le module mais j’ai une erreur 500 après la soumission du formulaire de contact. une idée du problème ?
pour desinstaller j’ai supprimé le fichier de l’override du module, puis celui copié dans le dossier des overrides de prestashop (ContactController.php)
alléluia
Merci pour ce retour 🙂
Et bien du coup, une erreur 500 sur la page de contact et impossibilité de supprimer le module (bugs lié aux overide je pense), dernière version du module téléchargée via github sur ps 1.6.1.6 (module branche des 1.6)
Je pense qu’il faut modifier la partie uninstall du fichier php.. besoin d’un peu d’aide..
[PrestaShop] Fatal error in module file :/var/www/*****************.fr/www/classes/module/Module.php:
Uncaught exception ‘ReflectionException’ with message ‘Class ContactControllerOverrideOriginal_remove5a744f835bdde does not exist’ in /var/www/*********************.fr/www/classes/module/Module.php:2944 Stack trace: #0 /var/www/*************************.fr/www/classes/module/Module.php(2944): ReflectionClass->__construct(‘ContactControll…’) #1 /var/www/**********************.fr/www/classes/module/Module.php(2749): ModuleCore->removeOverride(‘ContactControll…’) #2 /var/www/********************.fr/www/classes/module/Module.php(647): ModuleCore->uninstallOverrides() #3 /var/www/******************.fr/www/modules/eicaptcha/eicaptcha.php(68): ModuleCore->uninstall() #4 /var/www/****************.fr/www/controllers/admin/AdminModulesController.php(681): EiCaptcha->uninstall() #5 /var/www/****************.fr/www/controllers/admin/AdminModulesController.php(1109): AdminModulesControllerCore->postProcessDelete() #6 /var/www/******************.fr/www/classes/controller/Controller.php(178): AdminModulesControllerCore->postProcess() #7 /var/www/j
Bonjour,
J’arrive à faire toutes les étapes, mais pour modifier le fichier .tpl impossible, il est en lecture seule.
Y a t-il une astuce ?
Merci
Bonjour izart,
Dans ce cas, essayez de le renommer avec le suffixe « _bkp » puis envoyer le fichier modifié.
Si cela ne fonctionne pas, vous devez demander à votre hébergeur de changer le groupe et propriété du fichier par celui de votre accès ftp.
A bientôt 🙂
Bonjour, je n’arrive pas à trouver le fichier en question, je suis sur prestashop 1.6.1.12, pourriez vous m’aider? Merci
Bonjour,
C’est le même fichier www/themes/mon-theme/contact-form.tpl que vous renommez simplement puis vous appliquez ma recommendation proposée à Izart 🙂
Bonjour,
Merci pour ce tuto. En revanche j’ai le message d’erreur suivant sur la page de mon site au niveau du captcha
ERREUR pour le propriétaire du site : Clé de site non valide
Auriez vous une solution?
J’ai suivi toutes les étapes ci-dessus.
Merci d’avance
Bonjour Eric,
Je pense que vous devez bien vérifier le domaine pour lequel vous avez validé la clé et vérifier aussi la clé copiée.
C’est dans ces données qu’il y a une erreur.
Bon courage 🙂
Bonjour,
Merci de votre retour. Je vais regarder.
Bonjour,
Je pense que cette solution est plus rapide :
https://www.prestashop.com/forums/topic/610111-spam-via-my-ecommerce-shop/
Cela m’a servi dans le cadre de qq.com et des IP Chinoises.
Bonjour et merci pour ce tuto.
Ça a parfaitement fonctionné sur mon prestashop (1.6.1.11).
Bonjour,je ne sais plus quoi faire … je reçois en masse des spams via mon formulaire : texte en chinois et mail finissant par @qq.com. Mon hébergeur m’a bloqué déjà 4 fois malgré les modifs que j’ai pu apporter. j’ai supprimé le module SendToAfriend, j’ai mis le recaptcha de google. mais rien n’y fait….vous n’auriez pas une solution? merci
Bonjour Bernard,
Avez-vous testé avec le tuto indiqué ici ?
Si oui et si cela ne fonctionne pas, il faudrait savoir comment les mails sont envoyés exactement.
Un cas client nécessitait une intervention spécifique avec un développement particulier, dans ce cas il faut me faire un mail avec vos coordonnées, l’url du site et le maximum de détails.
Merci 🙂
Bonjour Bernard et Arnaud,
Idem pour moi beaucoup de spam en provenance de qq.com, clairement identifié en Chine,
avec un blocage de l’hébergeur une fois.
Un moyen momentané est de bloquer l’adresse ip et/ou le domaine qq.com via le fichier htaccess
avec :
Deny from qq.com
Deny from 46.105.49.121 (à remplacer par votre IP)
J’ai le même problème que toi depuis ce matin, j’ai trouvé une solution provisoire en renommant la page contact « contactez-nous » en « contactez-la-societe » par exemple, via l’onglet SEO & URLs. Ca à l’air de fonctionner mais cela reste une rustine malgré tout.
Bonjour Pascal, Vincent,
Merci pour vos retours et les pistes de solutions que vous proposez.
Ce qui est délicat, c’est de s’adapter aussi vite que les spammeurs qui trouvent toujours de nouvelles solutions pour envoyer des mails en masse.
A bientôt 😀
Bonjour,
même remarque que Fred, nous sommes fortement spammé malgré le captcha en place « (AM) eicaptcha v0.4.3 – par eicaptcha ».
J’ai simplement désactivé le javascript sur Chrome, et le formulaire n’affiche plus le recaptcha, les spams passent.
Dommage, existe-il d’autres modules gratuit de ce type ? Sinon il faut passer par un payant ou développer soit même cette fonctionnalité.
Bonjour Valentin,
Même remarque, je vais faire remonter au développeur du module qui a pris de son temp pour une solution efficace tout de même. J’ai des clients qui avaient des problèmes de spams et qui n’ont plus de problème à présent.
Il doit sûrement y avoir des modules payants sur Addons je pense sans trop chercher.
Merci 🙂
Bonjour,
le module a il été mis à jour depuis mon dernier message ?
Par rapport aux spams ?
Bonjour Valentin,
Toujours pas de retour sur le sujet.
Savez-vous comment les mails sont envoyés exactement ?
Ok, merci,
je vais donc enlever ce formulaire pour éviter le spams en attendant de trouver une meilleur solution.
Pour l’explication : en désactivant le javascript sur Chrome, le formulaire n’affiche plus le recaptcha, les spams passent.
Bonjour Arnaud,
vous devriez mettre à jour le lien de la version du module avec celui du message de :
WEBDEV says:
28 février 2018 à 18:14
Après vérification, cela ne pose plus de soucis sur la dernière version 0.4.12 du plugin eicaptcha.
https://github.com/nenes25/eicaptcha/releases/tag/0.4.12
Effectivement, maintenant avec cette version 0.4.12, en désactivant javascript, le formulaire ne passe plus, donc plus de spams.
Bonne journée
Je confirme les propos de koko89, le hook ne fonctionne pas à la validation côté serveur, pour reproduire : supprimer dynamiquement le bouton submit dans l’éditeur DOM d’un outil de debug (type Firebug ou outil natif Chrome ou Firefox) et le recréer. La suppression des controles JS permet de passer sans le captcha…
Reproduit avec la version 0.4.3 et 0.4.9 du module sur Prestashop 1.6.1.13 (version 0.4.10 non compatible)
Bonjour Fred, c’est noté et je vais l’indiquer au développeur du module 🙂
Bonjour,
Merci pour ces infos. J’ai bien tout suivi, ça marche nickel, mais j’ai reçu un mail de google pour le passage en recaptcha v2. Il dit que le module est en V1, et que cette version va être abandonnée début 2018. Est-ce que vous savez si le module peut être mis à jour pour un passage en recaptcha v2 ?
Merci
Bonjour Axel, le module peut être mis à jour en effet ou alors je vais publier un tuto pour recaptcha v2 sinon. Je me note cela dans ma todo list 😉
Merci du retour. Je suis en Prestashop 1.6, est ce que je peux continuer à utiliser le même module et simplement créer une nouvelle clé v2 chez Google et utiliser les codes de cette nouvelle clé ?
Bonjour Axel,
Utilisez la dernière version du module à télécharger ici : https://github.com/nenes25/eicaptcha/archive/master.zip
Pensez à renommer le dossier décompressé par « eicaptcha » avant de le placer dans le dossier des modules de votre boutique 🙂
Bonjour,
sauf erreur de ma part, cela ne bloque pas les soumissions automatisées via une requête POST sur la page contact.
Par ailleurs il suffit de télécharger le JS pour pouvoir poster sans même afficher le captcha.
Par conséquent c’est bien joli mais ça ne sert à rien du coup…
Bonjour,
Je n’ai pas compris la remarque « il suffit de télécharger le JS pour pouvoir poster sans même afficher le captcha » pour pouvoir vous répondre, si vous pouvez l’expliquer ?
Etonnant comme retour d’ailleurs, car un PrestaShop comme http://www.framapack.fr/fr/contactez-nous a bien reCaptcha installé et plus aucun spam depuis.
Je confirme ce que tu dis, je installé ton plugin, ça fonctionne nickel si tu passe par le formulaire, en revanche c’est inefficace en cas de d’attaque automatisée, je continue de prendre des spams toutes les 5 sec.
Merci pour ce tuto clair et efficace
Bonjour,
L’installation a bien fonctionné, mais j’ai ce message au dessus du captcha
Notice: Undefined index: captcha in /home/monsitew/www/cache/smarty/compile/5e/38/3d/5e383ddfaccc871de9bf1076724d9bc0aa1f4a03.file.contact-form.tpl.php on line 244
Notice: Trying to get property of non-object in /home/monsitew/www/cache/smarty/compile/5e/38/3d/5e383ddfaccc871de9bf1076724d9bc0aa1f4a03.file.contact-form.tpl.php on line 244
Savez-vous à quoi cela est du svp ?
Merci
Bonjour Rémi,
Vous devez avoir activé le mode debug, non ?
Pour ma part je n’ai pas ces notice en local.
Pour bien comprendre, voici un article en rapport : http://www.phpdebutant.org/article148.php
Utilisez cette condition plutot.
{if isset($captcha) && $captcha} {
}
Bonjour, je rencontre le même souci, exactement les mêmes messages, avec une seule différence (mention de la ligne 258), ma version Presta 1.6.1.5. La condition que vous proposez « {if isset($captcha) && $captcha} {
} doit être mise où svp?
Merci pour votre réponse 🙂
Bonjour,
Je rencontre le même souci. Bien sûr mode débug activé ! ça me permet de comprendre pourquoi le module captacha n’apparaît qu’une fois sur 2.
C’est Notice souligne le fait que la variable captcha n’est pas assignée au smarty ! c’est cette variable qui est testé dans le {if $captacha}.
Elle doit être assigné au moment de l’installation du module, en faisant un override de ContactController.php (si c’était bien fait).
Du coup à quoi correspond la variable $captcha ? que faut-il tester ? (que je puisse l’assigner manuellement au smarty)
Merci pour ce tutoriel ! Ca fonctionne très bien !
Pourriez-vous considérer un tutoriel pour « Invisible Recaptcha » sous Prestashop ?
Avec plaisir 🙂
Pour Invisible Recaptcha, il n’est pas encore disponible quand on va sur le site dédié : https://www.google.com/recaptcha/intro/comingsoon/invisible.html mais pourquoi pas 😉
EDIT: De temps à autre (50% du temps) le bouton recaptcha ne s’affiche pas. Je dois actualiser la page pour qu’il apparaisse.. La console m’indique l’erreur suivante lorsque le bouton n’est pas affiché:
» Error: ReCAPTCHA placeholder element must be an element or id »
Par ailleurs, lorsque le recaptcha est affiché et que l’on doit choisir les images à cocher, la dernière ligne d’images est tronquée. Après plusieurs recherches je n’explique pas ces problèmes(Pas de conflits de css).
Cordialement.
Avec une brève recherche, je pense que vous chargez 2 fois la library cf https://stackoverflow.com/questions/37021241/error-recaptcha-placeholder-element-must-be-empty
Pour le second souci, je pense que du css devrait faire l’affaire, non ?
Bonjour Arnaud, merci pour ce tuto. Je n’ai moi aussi rien qui s’affiche, le div censé contenir la captcha est vide… pourriez-vous m’aider svp ?
merci, Clément
Bonjour Clément,
Avez-vous bien suivi toutes les étapes du tuto car de mon côté sur PrestaShop 1.6.1.16 ça fonctionne très bien ?
Bonjour
Merci pour ce plugin gratuit et tutos.
J’aimerais afficher le message d’erreur en francais .. ou est ce que cela se modifie ?
Merci de votre aide
Paolo
Bonjour Paolo,
Avec plaisir pour le tuto PrestaShop 😉
Pour les textes, il faut aller dans le back office > localisation > traductions, puis sélectionner dans les menus déroulants : traductions du thème / votre thème / français.
A bientôt !
Bonjour Arnaud
J’ai suivi toutes les étapes et rien ne s’affiche
le site http://www.catteau-joaillier.com en version 1.6.1.11
par contre je m’étonne de la modif dans le contact-form.tpl. Pourquoi ne pas mettre simplement
Guillaume
Bonjour Guillaume,
Si vous n’arrivez pas à faire l’installation je peux m’en charger. Envoyez-moi une demande via mon formulaire de contact svp.
Bonjour,
En utilisant votre tuto, j’ai ce message d’erreur qui s’affiche désormais sur toutes les pages om le captcha doit apparaître :
Il y a 1 erreur :
Confirmez que vous n’êtes pas une machine
j’ai beau cherché je ne comprends pas.
D’avance merci de votre retour,
cordialement,
Bonjour sam, avez-vous bien repris toutes les étapes en détail ? quelle est l’url du site et sa version ?