Depuis qq temps, des robots de SPAM utilisent le formulaire de contact des boutiques PrestaShop pour envoyer des mails.
Voici deux astuces (les deux versions ont été testées) pour la version Prestashop 1.6
– astuce 1 : I’m not a robot de google
– astuce 2 : captcha invisible
ASTUCE 1
1) Allez google Re-capcha : https://www.google.com/recaptcha/intro/invisible.html
– En haut à droite, cliquez sur Get reCAPTCHA
– Une fois sur la page, insérez les informations demandées et cliquez sur Enregistrer
– Gardez la page ouverte vous aurez besoin de la clé secrète
PrestaShop
- Ouvrez le fichier header.tpl qui se situe dans ../themes/nomdevotretheme et insérez le code suivant
1 |
<script src='https://www.google.com/recaptcha/api.js'></script> |
2) Ouvrez le fichier contact-form.tpl qui se situe dans ../themes/nomdetheme est insérez le code suivant
[public Google key] = à la place insérez votre clé secrète.
1 |
<div class="g-recaptcha" data-sitekey="[public Google key]"></div> |
3) Ouvrez le fichier ContactController.php qui se situe dans /controllers/front/ContactController.php et inserez le code ci dessous juste après $this->errors[] = Tools::displayError(‘Bad file extension’);
1 2 |
} else if (!($gcaptcha = (int)(Tools::getValue('g-recaptcha-response')))){ $this->errors[] = Tools::displayError('Captcha not verified'); |
4) Nettoyer le cache prestashop (voir l’article)
ASTUCE 2
Veuillez suivre les indications de ce lien : https://github.com/PrestaShop/PrestaShop/pull/8168/files/1482acec6e91a6e694b9638d42ac69be391dd7fc