Jump to content
Jean Francois G

[RESOLU] Spam depuis le formulaire de contact

Recommended Posts

Bonjour a tous, depuis ce matin je recois des centaines et des centaines de spam provenant de notre formulaire de contact du site.

C'est comme ci des milliers de clients cliquaient sur "nous contacter" avec des adresses emails différentes.

Dans chaque message on a bie  notre entête, notre logo, la mention "message de la part d'un client" etc.. Donc cela vient bien de notre site.

Comment faire pour stopper cette attaque de SPAM provenant du formulaire du site ! ?

Je peux même pas créer un filtre spam puisque l'adresse de provenance du message est notre adresse de site web.

Une idée en urgence ?

HELP !

 

 

Edited by Jean Francois G

Share this post


Link to post
Share on other sites

Grand merci, effectivement la page linkée est la solution miracle (J'avais pourtant cliqué sur plusieurs liens mais, j'ai zappé celui la)

En modifiant l'index.php et le header.php, les spams ont cessés :)

merci eolia

 

Edited by Jean Francois G

Share this post


Link to post
Share on other sites

Bonjour, je tente d'installer le code de deokia. Le capcha fonctionne, si on coche, le mail part, par contre si on ne le coche pas, il ne se passe rien quand on envoye, aucun message d'erreur. J'ai bien configuré les 2 keys...., + modifié header.tpl et index.php racine

 

je suis en 1.6.1.5

Une idée?

merci

Edited by shopme

Share this post


Link to post
Share on other sites

Merci pour l'astuce du snippets car j ai le meme souci avec des spam russes.

Par contre le bout de code, il se place où dans header.tpl?

Share this post


Link to post
Share on other sites

Merci,  y a plus qu'a patienter et voir si je suis enfin tranquille d'Igor et grishka

Share this post


Link to post
Share on other sites

Chez moi cette solution ne fonctionne pas :(

je recois encore des spam.

c'est une presta 1.6.1.4,

J'ai remarqué qu'ils arrivent dans mon bo mais pas dans mes emails contrairement a si j'envoi moi meme un mail test depuis le formulaire de contact.

https://www.fanatikseeds.org/fr/

Si qq'un a une autre astuce a proposer? Je suis tombé sur plusieurs post mais tous évoquent ce système de captcha

 

Share this post


Link to post
Share on other sites

Bah vous avez du en oublier une partie (dans l'index.php du site) car la vérification n'est pas faite.

J'ai testé en envoyant directement en $_POST et je n'ai pas eu le message ni l'attente de 25 secondes^^

Share this post


Link to post
Share on other sites

Je ne connais pas ce test que vous avez fait Eolia je ne peux donc pas m'auto tester, il ne me reste plus qu'a patienter et observer mais en effet je confirme que j'avais fait une erreur (dans la clé). On verrait si je recois des spam cette nuit,

Merci ;)

Share this post


Link to post
Share on other sites

nan je ne place pas le code au bon endroit ou pas dans le bon fichier je pige pas, la manip me semblait pourtant simple, ca me met une page en erreur en fait. :(
Je vais chercher...

Edited by MILBUC

Share this post


Link to post
Share on other sites

En effet Eolia, c'est vraiment pas compliqué, je commençais a douter de mes capacité a faire un copié/collé.

En fait j ai 2 boutiques sur le meme serveur, avec l'une installé dans l'autre. Je sais pas qui m avait fait ca à l epoque mais bon c'est un peu la merde ds les fichiers et c'est ce qui m a perturbé et de ce fait je ne modifiais pas le bon index.php.

J'ai modifié celui que je pense être le bon vers 11h et depuis plus aucun spam.

J'ai envie de croire que je suis enfin tranquille.

Merci pour ton aide et ton suivi ;)

Share this post


Link to post
Share on other sites

Est-ce que tu penses que quelqu'un en veux à ton site internet ? Ca sent la DDOS attaque non ?

Share this post


Link to post
Share on other sites

Bon je sais pas si j ai mal fait la manip ou quoi mais ca continue (j'ai reçu un nouveau mail à la con).

Pour répondre à Dams je ne pense pas que quelqu'un en veuille particulièrement a cette boutique, cela dit tout est possible, les gens sont tellement cons parfois...

 

Share this post


Link to post
Share on other sites

Une attaque Ddos c'est 25 000 Ip différentes au bas mot qui envoient 50 requêtes par seconde. Je ne crois pas que ce soit votre cas mais par contre j'ai de gros doutes sur la mise en place de votre script...

Share this post


Link to post
Share on other sites

Bonjour à tous j'ai le même souci que MELBUC des mails russe à la c.., j'ai installé un module eicaptcha  mais n'y fait je reçois toujours ces mails.

Merci d'avance pour votre aide

 

Cordialement

 

Share this post


Link to post
Share on other sites

Ce module est une passoire. Désinstallez-le et utilisez les 2 scripts fournis ci-dessus et vous n'aurez plus de spam.

Share this post


Link to post
Share on other sites

Bonjour,

 

Merci beaucoup pour votre réponse rapide je vais le désinstaller

Je vous tiens au courant

Bon week end

 

Share this post


Link to post
Share on other sites

Bonjour,

 

Veuillez m'excuser je préfère demander pour être sure :

Quelle partie du code va dans le fichier Header.tpl et quelle partie du code va dans index.php et à quel endroit s'il vous plait ?

 

Je m'excuse je débute 

 

Merci d'avance pour votre aide

 

Share this post


Link to post
Share on other sites

Une solution simple peut-être de modifier le friendly URL de votre page de contact ainsi que d'ajouter le code suivant à votre .htaccess :

RewriteCond %{QUERY_STRING} ^controller=contact$
RewriteRule ^(.*)\.php$ - [L,R=404]

afin d’empêcher que les bots de trouver votre page de contact uniquement en rajoutant "/?controller=contact" après votre URL.

Edited by William K.

Share this post


Link to post
Share on other sites

Si comme vous le captcha ne bloque pas le formulaire c'est que vous l'avez mal installé et pas contrôlé.

Mettre le contrôleur contact en 404 est complètement idiot.

Autant mettre un die(); dans votre index.php et se reconvertir en baraque à frites^^

Share this post


Link to post
Share on other sites

J'ai fait la manip (insertion des deux bouts de code dans index.php et header.tpl) plusieurs fois pour être sûr mais le re-captcha n'apparait pas sur mon formulaire et l'envoi d'un message génère une page blanche avec un superbe "not human".
J'ai même supprimé les clés pour en créer de nouvelles...rien à faire :/

Une idée ?
Merci d'avance.

http://www.lesrecoltesdumonde.com/contactez-nous

PS 1.6.1.11

Edited by manexweb

Share this post


Link to post
Share on other sites
1 hour ago, Eolia said:

Si comme vous le captcha ne bloque pas le formulaire c'est que vous l'avez mal installé et pas contrôlé.

Mettre le contrôleur contact en 404 est complètement idiot.

Autant mettre un die(); dans votre index.php et se reconvertir en baraque à frites^^

 

Le seul 404 que je génère là, c'est celui de l'URL /?controller=contact qui n'est de toute façon pas utilisé par un utilisateur lambda, mon formulaire est toujours entièrement utilisable. Je ne vois pas en quoi ne pas laisser un chemin uniquement utilisé par les bots est "intelligent".

Share this post


Link to post
Share on other sites
il y a 23 minutes, manexweb a dit :

J'ai fait la manip (insertion des deux bouts de code dans index.php et header.tpl) plusieurs fois pour être sûr mais le re-captcha n'apparait pas sur mon formulaire et l'envoi d'un message génère une page blanche avec un superbe "not human".
J'ai même supprimé les clés pour en créer de nouvelles...rien à faire :/

Une idée ?
Merci d'avance.

http://www.lesrecoltesdumonde.com/contactez-nous

PS 1.6.1.11

bah vous avez dû vous gaufrer quelque part, le code n'est pas dans le header.tpl de votre thème (peut-être l'avez-vous mis dans un autre thème^^)

Share this post


Link to post
Share on other sites
il y a 25 minutes, William K. a dit :

 

Le seul 404 que je génère là, c'est celui de l'URL /?controller=contact qui n'est de toute façon pas utilisé par un utilisateur lambda, mon formulaire est toujours entièrement utilisable. Je ne vois pas en quoi ne pas laisser un chemin uniquement utilisé par les bots est "intelligent".

C'est vrai ça, on se demande pourquoi Prestashop utilise le système MVC...

Il y a juste un cas que vous avez oublié, mais je vous laisse le découvrir tout seul^^

 

Share this post


Link to post
Share on other sites

Bonjour,

 

le fichier index.php, c'est bien celui présent dans le thème? j'utilise prestashop 1.6

Je dois placer le code après le exit?

Voici mon fichier index.php

Merci

<?php
/*
* 2007-2015 PrestaShop
*
* NOTICE OF LICENSE
*
* This source file is subject to the Academic Free License (AFL 3.0)
* that is bundled with this package in the file LICENSE.txt.
* It is also available through the world-wide-web at this URL:
* http://opensource.org/licenses/afl-3.0.php
* If you did not receive a copy of the license and are unable to
* obtain it through the world-wide-web, please send an email
* to license@prestashop.com so we can send you a copy immediately.
*
* DISCLAIMER
*
* Do not edit or add to this file if you wish to upgrade PrestaShop to newer
* versions in the future. If you wish to customize PrestaShop for your
* needs please refer to http://www.prestashop.com for more information.
*
*  @author PrestaShop SA <contact@prestashop.com>
*  @copyright  2007-2015 PrestaShop SA
*  @license    http://opensource.org/licenses/afl-3.0.php  Academic Free License (AFL 3.0)
*  International Registered Trademark & Property of PrestaShop SA
*/

header("Expires: Mon, 26 Jul 1997 05:00:00 GMT");
header("Last-Modified: ".gmdate("D, d M Y H:i:s")." GMT");

header("Cache-Control: no-store, no-cache, must-revalidate");
header("Cache-Control: post-check=0, pre-check=0", false);
header("Pragma: no-cache");

header("Location: ../");
exit;

 

Share this post


Link to post
Share on other sites
13 hours ago, Eolia said:

bah vous avez dû vous gaufrer quelque part, le code n'est pas dans le header.tpl de votre thème (peut-être l'avez-vous mis dans un autre thème^^)

Ben si, il y est :( (theme1006)
 

captcha.png

Edited by manexweb

Share this post


Link to post
Share on other sites

Cache vidé et options de recompilation paramétrées comme suit ?

image.png.f4c794fcc15d80e1a511f2300315b08e.png

  • Like 1

Share this post


Link to post
Share on other sites

Et pour l'instant votre <head> est comme ça à la fin (avec le super tracker/sniffer de presta-modules trk.10ru.pt d'ailleurs^^)

image.thumb.png.c0c61582e20a8da5839429660468e48d.png

Share this post


Link to post
Share on other sites
15 hours ago, Eolia said:

C'est vrai ça, on se demande pourquoi Prestashop utilise le système MVC...

Il y a juste un cas que vous avez oublié, mais je vous laisse le découvrir tout seul^^

 

D’après moi l'avantage du MVC c'est de gagner en clarté plutôt que de tout avoir dans un même fichier et de faciliter la maintenance et l'évolution de la plateforme, je ne pensais pas qu'il y avait un avantage à pouvoir accéder directement au controller via URL mais je suis parfaitement prêt à comprendre une critique constructive, mon but est de faire au mieux et d'aider si je le peu.

Ma vision de la chose est que ce n'est surement pas une aide à la protection que d'avoir une URL commune sur tous nos sites car nous facilitons l’accès aux systèmes automatisés.

Je serai content d’apprendre quelque-chose de valeur à propos de mon site, donc si vous pouvez prendre le temps de m'expliquer en quoi je fais du tort à mon site en agissant ainsi je vous serais reconnaissant.

Edited by William K.

Share this post


Link to post
Share on other sites

@Eolia :

j'aimerais savoir si je pouvais espérer avoir une réponse sur le sujet.

Vous n'y avez évidemment aucune obligation mais après avoir dis que mon conseil était idiot, j'aurai crus qu'il serait simple pour vous d'expliquer le pourquoi de la chose.

Je me doutes qu'il est beaucoup plus simple et utile pour vous de recopier le tuto de recaptcha sur tous les sujets et espérer récupérer des points de réputations facilement, mais le but du forum étant malgré tout l'échange d'informations entre utilisateurs, je crois encore que vous pourriez répondre autrement que par des devinettes du genre "Il y a juste un cas que vous avez oublié, mais je vous laisse le découvrir tout seul^^".

 

Share this post


Link to post
Share on other sites

Avant de me contenter de recopier un tuto de captcha j'ai répondu à une centaine de messages sur ce sujet, regardez les historiques.

Au bout d'un moment, ça lasse de se répéter, alors oui j'ai fait un tuto mais certainement pas pour les "points" dont je me moque éperdument (je n'ai pas de page FB et donc pas de likes^^)

Je vous laisse avec ma devinette :) 

  • Haha 1

Share this post


Link to post
Share on other sites
9 hours ago, Eolia said:

Cache vidé et options de recompilation paramétrées comme suit ?

 

 

En effet, c'est beaucoup mieux en vidant le cache, merci d'avoir pris le temps de m'aider et bon courage, ça ne doit pas être simple tous les jours :) 
Par contre la manip a fait sauter mon background et certaines couleurs comme si le .css modifié n'était plus lié...

 

PS: "super tracker/sniffer" c'est ironique ? 

Edited by manexweb

Share this post


Link to post
Share on other sites

PS: Non, c'est une saloperie inutile qui récupère vos datas

 

image.png.daa5fecba66be0c1af609b5798790771.png

Share this post


Link to post
Share on other sites

Freepay, Oyst et toutes ces saloperies

D'ailleurs vous devriez supprimer tous les modules que vous n'utilisez pas, ça fera du bien à votre shop^^

Share this post


Link to post
Share on other sites

Bonjour,

J'ai utilisé la solution pour installer recaptcha, en suivant https://shop.devcustom.net/fr/content/9-mise-en-place-captcha?content_only=1.

J'ai testé et j'ai bien eu les cases à cliquer. J'ai bien reçu les messages dans le Back Office mais j'ai rien dans la boîte email. J'ai aussi répondu les message dans le Back Office mais j'ai rien reçu comme réponse.

Pourriez vous m'éclairer sur ce problème?

 

tokoada.fr

Edited by Tatokoa
forgotten site information

Share this post


Link to post
Share on other sites

La fonction d'envoi des mails a du être bloquée par votre hébergeur, voyez avec lui.

Share this post


Link to post
Share on other sites

Pour ma part, j'ai choisi de créer une expression régulière qui bloque les mails finissant en "ru" sur le formulaire de contact.

Le fichier à modifier est dans controllers/front et se nomme ContactController.php
Ligne 44

if (!($from = trim(Tools::getValue('from'))) || !Validate::isEmail($from)) {

Remplacer par

if (!($from = trim(Tools::getValue('from'))) || !Validate::isEmail($from) || preg_match ("#ru$#", $from)) {   

Ca pourrait être mieux si j'avais révisé mes expressions régulières et que j'avais trouvé comment faire le test sur "(point)ru"... mais bon ça a le mérite de marcher dans mes tests !

Share this post


Link to post
Share on other sites
6 hours ago, fuxu said:

Pour ma part, j'ai choisi de créer une expression régulière qui bloque les mails finissant en "ru" sur le formulaire de contact.

Le fichier à modifier est dans controllers/front et se nomme ContactController.php
Ligne 44


if (!($from = trim(Tools::getValue('from'))) || !Validate::isEmail($from)) {

Remplacer par


if (!($from = trim(Tools::getValue('from'))) || !Validate::isEmail($from) || preg_match ("#ru$#", $from)) {   

Ca pourrait être mieux si j'avais révisé mes expressions régulières et que j'avais trouvé comment faire le test sur "(point)ru"... mais bon ça a le mérite de marcher dans mes tests !

 

ça ne marche pas pour moi

Share this post


Link to post
Share on other sites

Bonjour, je rencontre le même problème de spams en Russe.

Par contre je suis sur prestashop 1.5.6.2.

Est-ce la même méthode ou une autre méthode ?

 

Merci

Share this post


Link to post
Share on other sites
16 minutes ago, manexweb said:

regardez ce qui est écrit en titre de cette page ;)
https://shop.devcustom.net/fr/content/9-mise-en-place-captcha?content_only=1

 

Merci, oui j'ai suivi cette manipulation mais cela ne change rien, j'ai fais un essai de création de compte, mais je n'ai pas de captcha a mettre....

Je n'y connais rien, donc j'ai surement placé les éléments au mauvais endroit....

 

Il n'y a pas de module qui installerait ça directement , ça serait plus simple :) ?

Edited by balaizeben

Share this post


Link to post
Share on other sites

Ce code n'intervient pas du tout sur la création de compte mais sur l'envoi des messages depuis la page contact.

Vous avez du vous tromper de topic^^

Share this post


Link to post
Share on other sites
2 minutes ago, Eolia said:

Ce code n'intervient pas du tout sur la création de compte mais sur l'envoi des messages depuis la page contact.

Vous avez du vous tromper de topic^^

Effectivement, j'ai fais n'importe quoi... voilà quand on fait plusieurs chose à la fois...

 

Maintenant c'est bon, j'ai bien le captcha qui est présent ( même si je trouve cette demande de panneau de signalisation contraignante :) )

Mais si ça me permet d'éviter de recevoir des dizaines de mails, on ne va pas se plaindre...

 

Merci a vous

 

Share this post


Link to post
Share on other sites

Bonjour, moi l'installation capcha Prestashop + recapcha google nickel, par contre je continue à recevoir des mail.ru! Beaucoup moins depuis que j'ai bloqué et purger mes mail via OVH, mais j'en ai encore. 

N'y aurait-il pas une petite astuce , transformation dans fichier contact-form.tpl , ?

Je pensais modifier @ de mon adresse mail par un [at], pour perturber les robots? Mais si je peux faire cela, merci de me dire comment l'écrire .

je compte sur vous! La Russie commence à nous EMMMMMMMM

Share this post


Link to post
Share on other sites

Genre de messages reçu:

Примите поздрaвления!!!

C pадoстью сoобщаeм Вам o том, что:

В этoм году Вы проводили онлайн зaкaзы (трaнзaкции), и oдна из них стaла пoбедителем сoциaльной спeц. пpограммы.

Вас ждёт материальнoе пpемиpoвaние с нaшегo пoощpительнoго фонда в pазмеpе от 100$ до 5000$.

УЗHАТЬ СУMMУ ВОЗHAГРAЖДЕHИЯ

de

yhveoin5@mail.ru

mais ca change tout le temps!

Share this post


Link to post
Share on other sites

vous n'auriez pas un fichier contact-form.php qui traine à la racine de votre site par hasard ?

Si c'est le cas, supprimez-le ou insérez-y le même code que dans index .php

Share this post


Link to post
Share on other sites
14 minutes ago, Lydie Monjaret said:

Ok, merci, je regarde de suite. :rolleyes:

pas de fichier contact-form.php !

Edited by Lydie Monjaret

Share this post


Link to post
Share on other sites

Vous pourriez nous envoyer une url, parce que là on parle un peu dans le vide ?

Share this post


Link to post
Share on other sites

Bonjour,

Merci beaucoup pour cette solution, qui a été mise en place en 2 minutes chrono!!!  Pour ma part, la seule chose "bizarre" a été éliminé dans les options de performance. J'ai simplement dû décocher la case "déplacer le code Javascript à la fin, sous peine d'avoir des petits dysfonctionnements, notamment au niveau du panier qui est "stické", mais rien de méchant et j'ai même l'impression que le site réagit un poil plus vite...

Bref, merci pour votre efficacité et le partage!

Share this post


Link to post
Share on other sites

If the spamming is directly done through your contact form, then you have to secure your form. You can use Captcha to secure it. It will secure your contact form from spamming.

Share this post


Link to post
Share on other sites

Bonjour,

sans vouloir fâcher personne et après avoir bien lu, je voudrais juste une confirmation :

pour un presta 1.4, je colle le 1er code dans contact-form.php et le second code dans order-detail.php

 

merci pour cette précision....

Share this post


Link to post
Share on other sites

- Pour les versions Prestashop 1.4 le code php ne va pas dans index.php mais dans les fichiers contact-form.php et order-detail.php

 

 

quel code ? dans quel fichier ? :(

Share this post


Link to post
Share on other sites
il y a 18 minutes, bbajc a dit :

le code php

 

Si vous avez lu ce mini tuto, vous avez 2 sortes de code: du code javascript qui va dans le header.tpl et du code php qui va dans les fichiers php

Si vous ne comprenez toujours pas je ne peux plus rien pour vous :( 

Share this post


Link to post
Share on other sites

désolée mais je ne connais pas la différence entre les langages javascript ou php... je ne suis qu'une demeurée de base ;)

Share this post


Link to post
Share on other sites

Non mais le tuto explique bien quel code mettre dans index.php, donc si je vous écrit de mettre ce même code dans vos 2 fichiers contact-fom.php et order-detail.php je ne peux pas être plus clair...

Share this post


Link to post
Share on other sites

ben là oui je comprends....

et les deux autres vont dans les mêmes fichiers que pour les autres versions ?

Share this post


Link to post
Share on other sites

Quels 2 autres ??? Il n'en reste qu'un, celui en javascript pour le header.tpl

Share this post


Link to post
Share on other sites

oui pardon, le premier dans contact-form.php et order-detail.php et le second dans le header.tpl

 

j'aurais donc appris à cette occasion que les fichier tpl sont écrit en javascript... ;) ?

Share this post


Link to post
Share on other sites
il y a 2 minutes, bbajc a dit :

j'aurais donc appris à cette occasion que les fichier tpl sont écrit en javascript... ;) ?

 

Non plus...

Un fichier tpl est un squelette utilisé par le moteur de template Smarty qui va servir à construire les pages affichées en html.

Celui-ci comprend principalement du code html, des variables Smarty ($product par exemple) qui sont issues du php et éventuellement du javascript (Ce qui est notre cas aujourd'hui)

Share this post


Link to post
Share on other sites

et tout cela n'est pas évident du tout pour des non programmeurs qui cherchent des solutions auprès de pro qui ont la gentillesse de donner de leur temps pour les débloquer, notamment des assauts soviétiques ! :D

Share this post


Link to post
Share on other sites

Pouvez-vous m'envoyer un accès FTP par MP ?

Et avez-vous purgé vos emails dans le panel OVH ?

Share this post


Link to post
Share on other sites

Bonjour,

Merci à tout le monde pour l'aide et à ces codes.

Maintenant j'ai un petit souci. Ces codes marche bien sur ma boutique 1.6.1.11 mais il y a une erreur sur ma boutique 1.5.6.2.

En fait, si je remplie le formulaire contact et je ne coche pas reCaptcha mais je clique sur "envoyer", je reçois un message d'erreur "not human". Alors que sur l'autre boutique ça ne se passe rien (exactement comme je voulais) .

 

Avez-vous une idee svp?

Merci.

Share this post


Link to post
Share on other sites

Vous devez avoir un souci js sur cette page car notre code désactive le bouton d'envoi si le captcha n'a pas été coché.

Ouvrez votre console (F12) et regardez les erreurs en rouge.

Share this post


Link to post
Share on other sites
Le 15/03/2018 à 11:18 PM, fuxu a dit :

Pour ma part, j'ai choisi de créer une expression régulière qui bloque les mails finissant en "ru" sur le formulaire de contact.

Le fichier à modifier est dans controllers/front et se nomme ContactController.php
Ligne 44


if (!($from = trim(Tools::getValue('from'))) || !Validate::isEmail($from)) {

Remplacer par


if (!($from = trim(Tools::getValue('from'))) || !Validate::isEmail($from) || preg_match ("#ru$#", $from)) {   

Ca pourrait être mieux si j'avais révisé mes expressions régulières et que j'avais trouvé comment faire le test sur "(point)ru"... mais bon ça a le mérite de marcher dans mes tests !

 

 

Très bonne idée pour cibler précisément les spammeurs d'un pays,

pour la Russie (on peut faire pareil pour la Chine ou autres pays) j'ai mis en place un override : 'ContactController.php' dans /override/controllers/front

Le fichier commence comme ça :

<?php
/*
*
*  2018@ modification for email ending with ".ru" and russian language content
*
*/

class ContactController extends ContactControllerCore
{	
    public function postProcess()
    {
        if (Tools::isSubmit('submitMessage')) {
            $extension = array('.txt', '.rtf', '.doc', '.docx', '.pdf', '.zip', '.png', '.jpeg', '.gif', '.jpg');
            $file_attachment = Tools::fileAttachment('fileUpload');
			$message = Tools::getValue('message'); // Html entities is not usefull, iscleanHtml check there is no bad html tags.
			if (!($from = trim(Tools::getValue('from'))) || !Validate::isEmail($from)) {
				$this->errors[] = Tools::displayError('Invalid email address.');
			}
			elseif (substr($from, -3) == '.ru') {
				$this->errors[] = Tools::displayError('Spam email address detected.');
			}
			elseif (!$message) {
				$this->errors[] = Tools::displayError('The message cannot be blank.');
			}
			elseif (!Validate::isCleanHtml($message)) {
				$this->errors[] = Tools::displayError('Invalid message');
			}
			elseif (preg_match('/[А-Яа-яЁё]/u', $message)) {
				$this->errors[] = Tools::displayError('This message is in russian and it is not allowed.');
			}
			elseif

et laisser le reste du code de la fonction en fermant bien les accolades, puis effacer le fichier cache/class_index.php et tester votre formulaire.

 

Enjoy :)

  • Like 1

Share this post


Link to post
Share on other sites

Hello à tous,

J'avais déjà installé le code pour me débarrasser de spam chinois, mais visiblement je l'avais mal installé car maintenant c'est les russes qui nous envoient plusieurs messages par jours.

J'ai refait l'installation et maintenant j'attend de voir... on croise les doigts!

 

Par contre, une remarque (probablement idiote): avec les mails russes, ils envoient un fichier PDF, pour empêcher ça, j'ai supprimer l'option dans le BO presta, mais visiblement cela ne les empêchent pas d'envoyer des pièces jointes. 

Merci Eolia pour ce code et joyeuses fêtes à tous!

Share this post


Link to post
Share on other sites

Bonsoir,

Infesté également de spam russe, mais grave à ce bout de code, pour l'instant depuis une bonne heure plus de message.

Merci a @doekia pour le partage de son code et expérience et également à @Eolia pour ses explications et sa patience.

A bientôt

 

Share this post


Link to post
Share on other sites

Bonjour à tous, 

J'ai fait la modification de @Eolia sur mes presta 1.6 et c'est nickel ! Merci.

Cependant, avez-vous la solution pour les PrestaShop 1.7 ?

Merci

Share this post


Link to post
Share on other sites

Bonjour à tous, 

j'ai le même problème de spam (des russes mais en gmail.com, c'est chic!!) et j'ai suivi la procédure proposée par @Eolia(merci pour votre patience et précision) :

- inscription recaptcha google

- modification index.php à la racine

- modification classe de contactform.tpl

cependant il n'y a pas de balise </head> dans le header.tpl de mon thème et je ne sais pas où coller le script de clé publique...

Pour info, c'est une version 1.7.2

le site : http://vingtetuneheuresdix.jewelry/index.php?controller=contact

Je suis très débutante, merci pour votre aide et conseils à venir!

 

Share this post


Link to post
Share on other sites

Merci Eolia pour ce tuto très simple a mettre en place en lisant correctement les consignes et en les mettant en œuvre.

Share this post


Link to post
Share on other sites

Vous pouvez mettre un captcha sur tous les formulaires de votre site Prestashop, par exemple sur le formulaire d'enregistrement, ouvrez le fichier authentification.tpl qui se trouve dans votre thème, puis il faut rentrer le script suivant juste avant le bouton submit <div class="submit">

Voici le script :

[Modération: Script supprimé]

Cela fonctionne !

Share this post


Link to post
Share on other sites

Non ca ne bloque pas les robots, juste les humains qui utilisent le js.

Evitez de poster de fausses solutions svp^^

Share this post


Link to post
Share on other sites

Merci Eolia pour cette information.

Avez-vous une solution s'il vous plait pour bloquer les robots sur le formulaire d'enregistrement ?

Share this post


Link to post
Share on other sites
Posted (edited)

Hello. 

 

The best way is to implement recaptcha v.3 in invisible mode because some people use for exemple "365.shop" like the company name (or lastname or firstname) and the 1.6.1.24 do not allow this name 365.shop.

I already implemented recaptcha v.3 on the 1.6.1.23 and 1.6.1.24 and it is working very well.

 

It is also invisible for the client (no more boring pictures and clicks for the client) 

 

It is working also very well for the contact_form. 

 

Best regards 

Edited by bu_marius

Share this post


Link to post
Share on other sites

- recaptcha v3 a plein de bugs

- Validate de company: isGenericName:

    public static function isGenericName($name)
    {
        return empty($name) || preg_match(Tools::cleanNonUnicodeSupport('/^[^<>={}]*$/u'), $name);
    }

Les points ne sont pas interdits^^

Share this post


Link to post
Share on other sites