[MODULE] – Anti spams sur Prestashop
Dans cet article nous allons aborder plusieurs solutions pour ne plus recevoir de spams sur le formulaire de contact de votre boutique en ligne Prestashop
1 – Pourquoi reçoit-on des spams ?
Eh bien, oui il faut se poser la question, tout d’abord ce n’est pas un humain qui fait ça (ou alors, cette personne n’a vraiment rien d’autre à faire de ses journées) mais dans 99.9% des cas, il s’agit de « robots ».
Un robot n’est ni plus ni moins qu’un programme qui tourne en boucle et qui va tenter d’envoyer des données sur l’url de receptions de données de votre formulaire de contact.
Ce qu’il faut se dire, c’est que depuis votre ordinateur, un serveur, un script en php, nodeJS etc.. vous pouvez soumettre votre formulaire de contact Prestashop très simplement.
Exemple avec curl:
Si dans mon terminal je lance cette commande:
curl -d "id_contact=2&from=test%40gmail.com&message=message&submitMessage=ok" -X POST http://monsite.com/fr/nous-contacter
Vous recevrez bien un message dans votre Prestashop:
Vous pouvez faire vous-même le test, il vous faut curl d’installer sur votre ordinateur.
Décryptons un peu cette commande:
curl -d "id_contact=2&from=test%40gmail.com&message=message&submitMessage=ok" -X POST http://monsite.com/fr/nous-contacter
curl: c’est le programme
-d: corresponds à data (données envoyées)
-X POST: la méthode d’envoi (dans notre cas POST)
http://monsite.com/fr/nous-contacter: l’url de la page contact de votre Prestashop.
Pour faire simple, cette commande fait la même chose qu’un utilisateur de votre site quand il soumet votre formulaire de contact.
Si on analyse notre page contact:
On peut voir dans le HTML:
<form action="http://awesome.test/fr/nous-contacter" method="post" enctype="multipart/form-data">
l’attribut action est l’url ou les données sont traitées,
method est le type d’envoi (POST)
Donc quand on soumet un formulaire, on envoie les données du formulaire (champs) sur l’url dans l’attribut action et avec la méthode dans l’attribut method. Ce qui revient à la même chose quand nous avions utilisé la commande.
Comment stopper les spams ?
Bien entendu, c’est pour cela que vous êtes là, comment stopper les spams.
Il y a plusieurs manières de faire, la première chose qui ressort sur google est de mettre en place une captcha.
Comment ça marche ?
C’est assez simple, une captcha se place dans votre formulaire, et lors de sa soumission, votre script est supposé contrôller si la valeur entrée dans la captcha correspond à la valeur attendue. (ex: 2 + ? = 7) vous devez rentrer 5.
La captcha la plus utilisée est celle de google Recaptcha :
Vous avez du forcement la rencontrer sur certains sites.
Recaptcha est très pratique, en revanche si vous vous connecter sur un site en navigation privée, la validation d’un formulaire prend un temps fou, on vous demande plusieurs fois de cliquer sur des vignettes pour identifier des panneaux, des animaux et autres, ceci peut s’avérer très long et en décourager plus d’un.
Pour l’installer, c’est assez complexe, il faut overrider le ContactController, puis le template contact-form.tpl de votre thème, si vous êtes développeur, vous y arriverez dans soucis.
Existe-t-il un module antispam ?
Et bien oui, nous avons développé depuis peu de temps un module antispam, qui ne crée aucun override, et donc ne pertube pas l’utilisation de votre Prestashop.
Comment il marche ?
La technique mise en place est un technique largement utilisée par les nouvelles technologies comme les framework PHP,
il s’agit de créer à chaque appel, un identifiant unique stocké dans une session, et lors de la soumission du formulaire, le champ caché que l’on place dans le formulaire doit correspondre avec celui de la session, ce qui oblige à passer par le site pour faire cette action.
Ou le trouver ?
Vous le trouverez sur le shop de basedecode.com (shop en cours de transfert sur prestasafe.com) à cette adresse:
https://shop.base2code.com/home/23-anti-spam.html
Ou sur le prestashop addons:
https://addons.prestashop.com/fr/securite-access/30776-anti-spam.html
Grâce à ce module, vous ne recevrez plus de spam Russe, Chinois ou des adresses du type: qq.com, .ru @123.com @126.com etc…
L’installation est relativement simple, il faut l’installer depuis le backoffice et modifier un fichier (contact-form.tpl), la documentation détaille toutes les étapes,
nous restons disponible si vous rencontrez des problèmes lors de l’installation.
Enjoy 😉