Sécurité et SSL
Configurer reCAPTCHA dans PrestaShop 1.7 et 8 avec eicaptcha
Les systèmes CAPTCHA sont le moyen le plus direct de freiner le spam : un test qui vérifie que la personne qui remplit le formulaire est un humain et non un robot. Dans PrestaShop, ils sont particulièrement nécessaires, car les boutiques sont une cible fréquente de robots qui créent des centaines de faux comptes par jour et envoient des formulaires de contact en masse.
Le problème ne se limite pas à devoir supprimer ces comptes. Les robots consomment le CPU et la mémoire de la boutique, et chaque fausse inscription amène PrestaShop à envoyer un e-mail de bienvenue à des adresses Gmail, Hotmail ou similaires qui n'existent pas. Ces fournisseurs rejettent les messages et finissent par considérer le domaine de la boutique comme suspect : vos e-mails légitimes commencent alors à arriver dans le dossier spam de vos clients.
Pour protéger la boutique, nous utiliserons le module gratuit eicaptcha, qui intègre reCAPTCHA de Google dans l'inscription des clients, le formulaire de contact et l'abonnement à la newsletter. Il fonctionne avec PrestaShop 1.7 et 8. Si votre boutique est en 1.6, suivez le guide reCAPTCHA dans PrestaShop 1.6.
Télécharger et installer le module
Téléchargez le module depuis sa page officielle sur GitHub :
Téléchargez le fichier eicaptcha.zip de la dernière version 2.x (actuellement la 2.6.0), dans la section Assets. N'utilisez pas les liens « Source code » : ce zip ne contient pas les bibliothèques dont le module a besoin et il ne fonctionnera pas. Les versions 0.4.x sont celles de PrestaShop 1.6.

Dans l'administration de PrestaShop, allez dans Modules > Catalogue de modules (dans PrestaShop 8, Modules > Gestionnaire de modules), cliquez sur Installer un module et faites glisser le zip :

Vous pouvez aussi décompresser le zip et envoyer le dossier eicaptcha par FTP ou depuis le gestionnaire de fichiers de cPanel dans le dossier modules de PrestaShop.
S'il n'a pas été activé lors de l'installation, recherchez-le avec « captcha » et cliquez sur Activer :

Cliquez ensuite sur Configurer. Le module demande les clés reCAPTCHA, que nous obtenons à l'étape suivante.
Obtenir les clés reCAPTCHA
Allez dans la console d'administration de reCAPTCHA avec un compte Google (n'importe quel compte Gmail convient) et enregistrez un nouveau site :

- Dans Libellé, saisissez un nom qui vous permette de le reconnaître, par exemple le domaine de la boutique.
- Dans Type de reCAPTCHA, choisissez l'un des deux :
- Question d'authentification (v2) > Case à cocher « Je ne suis pas un robot » : affiche la case habituelle. C'est la plus facile à vérifier.
- Basé sur des scores (v3) : invisible pour le client ; seul un petit logo reCAPTCHA apparaît dans le coin inférieur droit.
- Dans Domaines, ajoutez le domaine de la boutique, par exemple
tutienda.com. reCAPTCHA accepte aussi ses sous-domaines, commewww.tutienda.com.
Acceptez les conditions et cliquez sur Envoyer. Google vous affichera la clé du site et la clé secrète. Copiez-les et notez laquelle est laquelle.

L'interface de Google a changé d'apparence depuis ces captures, mais les champs sont les mêmes.
Configurer le module
Revenez à la configuration d'eicaptcha et remplissez :
- Recaptcha Version : la même que celle choisie chez Google (V2 ou V3). Si elles ne correspondent pas, le captcha ne fonctionnera pas.
- Captcha public key (Site key) : la clé du site.
- Captcha private key (Secret key) : la clé secrète.
- Activez le captcha sur contact form (contact) et account creation (inscription), ainsi que sur la newsletter si vous l'utilisez.
- Force Captcha language :
fr. - En V3, Captcha V3 minimum score fixe le score minimal pour considérer qu'il s'agit d'une personne. Laissez la valeur 0.5 par défaut et ne la baissez à 0.3 que si de vrais clients n'arrivent pas à s'inscrire.

Enregistrez les modifications. Avec des clés v2, les formulaires afficheront la case « Je ne suis pas un robot » :

Vérifier que cela fonctionne
- Ouvrez la boutique dans une fenêtre de navigation privée et allez sur l'inscription des clients et sur la page de contact : la case reCAPTCHA doit apparaître (ou le logo dans le coin avec la v3).
- En v2, essayez de vous inscrire sans cocher la case : PrestaShop doit afficher une erreur et ne pas créer le compte.
- Terminez l'inscription normalement : le compte doit être créé.
Si le captcha n'apparaît pas ou ne bloque rien :
- Videz le cache dans Paramètres avancés > Performances.
- Sur cette même page, vérifiez que Désactiver tous les overrides est sur Non. eicaptcha s'appuie sur un override de l'inscription des clients et, s'ils sont désactivés, il ne valide pas le formulaire.
- Dans l'onglet Advanced parameters du module, cliquez sur Check if module is well installed et revenez à cet onglet : il vous indique ce qui ne va pas (overrides, hooks, module de contact). Vous pouvez aussi y activer Enable Debug pour qu'il enregistre un journal.
- Si l'erreur « Invalid domain for site key » apparaît, le domaine de la boutique ne correspond pas à celui enregistré dans reCAPTCHA.
Si de faux comptes continuent d'arriver
Si de fausses inscriptions continuent d'apparaître après l'activation du captcha, les robots ne passent pas par le formulaire : ils exploitent une faille de la version installée, comme la faille d'inscription massive. Vérifiez la version dans Paramètres avancés > Informations et mettez la boutique à jour ; si c'est une 1.7, il est recommandé de passer à la 8 ou à la 9.
Les faux comptes se reconnaissent généralement au fait que le prénom ou le nom contiennent des liens ou du texte publicitaire. Avant de les supprimer dans Clients > Clients, filtrez par date d'inscription et vérifiez qu'ils n'ont pas de commandes.
Cela peut aussi vous aider
- Freiner le spam envoyé depuis les formulaires de PrestaShop Explique comment confirmer si les rebonds proviennent d'un formulaire de PrestaShop et comment conte...
- Avis historique sur les inscriptions massives dans PrestaShop 1.6 et 1.7 Documente la faille corrigée dans PrestaShop 1.6.1.24 et 1.7.5.2 et explique comment agir si une ver...
- Identifier et freiner l'abus des formulaires d'un site web Explique comment déterminer si les rejets proviennent d'un formulaire détourné et comment le protége...
- Arrêter le spam dans les commentaires WordPress avec Akismet et reCAPTCHA Explique comment combiner modération, Akismet et reCAPTCHA pour freiner les commentaires automatique...
Quelque chose cloche ou a changé ? Racontez-nous et nous le vérifions.