Jump to content

Spam depuis le formulaire de contact


Recommended Posts

Bonjour,

J'ai beau cherché je ne trouve pas de réponse claire à ces problèmes :

Depuis un mois j'ai :

des robots qui remplissent les paniers

un robot qui envoie des messages via le formulaire (toujours en russe avec un email ".ru" qui change à chaque fois).

Pouvez-vous me conseiller ?

Grand merci par avance

Hervé

Edited by chiff-chaff (see edit history)
Link to comment
Share on other sites

Bah vous n'avez pas cherché beaucoup sur le forum, on répond à ce problème depuis 1 mois maintenant...

Vous devez installer le captch Google comme on l'a expliqué.

 

https://www.google.fr/search?biw=2030&bih=685&tbs=qdr%3Am&ei=mmaIWtmCG4j_UtrAtcgD&q=spam+site%3Awww.prestashop.com&oq=spam+site%3Awww.prestashop.com&gs_l=psy-ab.3...29332.29332.0.29954.1.1.0.0.0.0.67.67.1.1.0....0...1c.1.64.psy-ab..0.0.0....0.U2nmcPCVim0

Link to comment
Share on other sites

Bonsoir

Merci à vous pour vos précieux conseils.

Je suis donc allé voir dans GOOGLE "reCAPTCHA" et on me demande d'enregistrer mon site. C'est bien cela ?

Ensuite on me demande de choisir entre 3 possibilités :

  1. reCAPTCHA "case à cocher je ne suis pas un robot"
  2. reCAPTCHA "invisible"
  3. reCAPTCHA "Android" (mais ça c'est pour les applis donc ne concerne pas les sites)

Lequel faut-il choisir ? Le 1 ou le 2 ? N'y aura-t-il pas des incidences sur le fonctionnement du site notamment au niveau de la mise en page ?

Bonne soirée à vous

Hervé 

Link to comment
Share on other sites

Bonsoir

Je patauge... et la vague de mails indésirables via le formulaire du site s'intensifie....

Comme vous me l'avez conseillé, j'ai inscrit mon site sur reCAPTCHA GOOGLE :

J'ai donc récupéré plusieurs choses :

1 clé du site + 1 clé secrète : que faut-il en faire ?

Ensuite il y a 2 étapes à faire.

Etape 1 : 

GOOGLE DIT : "Collez cet extrait avant la balise fermante </head> sur votre modèle HTML"

??? Le modèle HTML dont Google parle est bien le fichier contact-form.tpl des thèmes ?

Du coup ça ne correspond pas au post de Prestashop Superstar  que j'ai trouvé en suivant le  lien que vous m'avez donné ci-dessus (Superstar parle de "contact-form.tpl" et indique un "script" avec une formule type "* TODO: tune this https://www.google.com/recaptcha/admin */") qui ne correspond à ce que j'ai.)

ENSUITE GOOGLE DIT :Collez cet extrait après la balise <form>, là où vous souhaitez que le widget reCAPTCHA s'affiche.

??? Ils parlent toujours du contact-form.tpl des thèmes ?

Merci en tout cas pour votre attention

Bonne soirée 

Hervé 

Link to comment
Share on other sites

On a déjà tout expliqué en long et en large et on n'a certainement pas parlé de ce que dit Google^^

Nous avons fourni 2 codes: l'un à mettre dans le header.tpl ou le contact-form.tpl au choix. Dans celui-ci vous mettez la clé PUBLIQUE à la place des XXXXXX

Et l'autre est à mettre dans le index.php DU SITE et la clé SECRETE à la place des XXXXX

Link to comment
Share on other sites

A tout hasard informez-les. Mêmes s'il vous disent qu'il faut sécuriser votre formulaire (ce que vous avez fait), ça ne mange pas de pain. Moi, c'est ce que j'ai fait chez OVH et je n'ai encore rien installé. Les messages "russes" se sont arrêtés hier. Je croise les doigts...

Link to comment
Share on other sites

  • 1 month later...

Dans le contrôleur de contact (/controllers/front/ContactController.php)

que (hem hem) on override avant tout bien entendu, il y a une bidouille aussi avec un certain odelfly-prest

il doit y avoir une faille de sécurité du module captcha Google

ligne 185 j'ai ajouté:

                    //Test Spam Russe...
                    $expediteur = Tools::getValue('from');
                    $sites_interdits=array('mail.ru','topcom.net.cn','bk.ru');
                    $variable_ne_pas_envoyer = false;
                    
                    if ($expediteur) {
                        $array_exp=explode('@',Tools::getValue('from'));
                        foreach ($sites_interdits as $site) {
                            if ($site == $array_exp[1])
                                $variable_ne_pas_envoyer = true;
                        }
                    }

                    if ($variable_ne_pas_envoyer) {  //il s'agit d'un site spammeur
                        $this->errors = 0; //on fait comme si tout allait bien
                        //et on envoi le mail à bibi
                        if (!Mail::Send($this->context->language->id, 'contact', Mail::l('Message from contact form').' [no_sync]', $var_list, '[email protected]', $contact->name, null, null, $file_attachment, null,    _PS_MAIL_DIR_, false, null, null, $from) ||
                            !Mail::Send($this->context->language->id, 'contact_form', ((isset($ct) && Validate::isLoadedObject($ct)) ? sprintf(Mail::l('Your message has been correctly sent #ct%1$s #tc%2$s'), $ct->id, $ct->token) : Mail::l('Your message has been correctly sent')), $var_list, $from, null, null, null, $file_attachment, null, _PS_MAIL_DIR_, false, null, null, '[email protected]')) {
                                $this->errors[] = Tools::displayError('An error occurred while sending the message.');
                            }
                        
                    } else { //sinon c'est bon
                        if (empty($contact->email)) {
                            if (trim(Tools::getValue('from')) != '[email protected]') { //celui là m'énerve aussi
                                Mail::Send($this->context->language->id, 'contact_form', ((isset($ct) && Validate::isLoadedObject($ct)) ? sprintf(Mail::l('Your message has been correctly sent #ct%1$s #tc%2$s'), $ct->id, $ct->token) : Mail::l('Your message has been correctly sent')), $var_list, $from, null, null, null, $file_attachment);
                            } else {
                                $this->errors[] = Tools::displayError("Cet email n'est pas autorisé à envoyer des messages.");
                            }
                        } else {
                            if (trim(Tools::getValue('from')) != '[email protected]') {
                                if (!Mail::Send($this->context->language->id, 'contact', Mail::l('Message from contact form').' [no_sync]', $var_list, $contact->email, $contact->name, null, null, $file_attachment, null,    _PS_MAIL_DIR_, false, null, null, $from) ||
                                    !Mail::Send($this->context->language->id, 'contact_form', ((isset($ct) && Validate::isLoadedObject($ct)) ? sprintf(Mail::l('Your message has been correctly sent #ct%1$s #tc%2$s'), $ct->id, $ct->token) : Mail::l('Your message has been correctly sent')), $var_list, $from, null, null, null, $file_attachment, null, _PS_MAIL_DIR_, false, null, null, $contact->email)) {
                                        $this->errors[] = Tools::displayError('An error occurred while sending the message.');
                                    }
                            } else {
                                $this->errors[] = Tools::displayError("Cet email n'est pas autorisé à envoyer des messages.");
                            }
                        }
                    }

Edited by Nicolas (see edit history)
Link to comment
Share on other sites

Il n'y a aucune faille si vous avez mis le code de vérification captcha dans le js ET dans l'index.php

Maintenant votre configuration est peut-être particulière et vous avez un contactcontroller.php qui traine peut-être à la racine....

Link to comment
Share on other sites

  • 1 month later...

Bonjour Eolia,

 

j'ai mis le code dans contactform.tpl et le code dans index;php, et quand je teste et que j'écris un message sur mon formulaire de contact, j'ai page blanche et cette erreur qui s'affiche:

not human Array ( [success] => [error-codes] => Array ( [0] => invalid-keys ) )

 

As-tu une idée du pourquoi stp  ? Désolée d'insister.

 

Merci

Link to comment
Share on other sites

  • 3 weeks later...

Bonjour Eolia

 

Pardon pour ma réponse, tardive.

Le problème est résolu, j'ai installé le module  : Module Antispam du Formulaire de contact v1.2 - par Rémy Lefebvre

Et je n'ai plus du tout de Spam russes !

Un grand merci pour tes conseils et ton soutien

 

Link to comment
Share on other sites

  • 2 weeks later...

bonjour

j'ose a peine poser ma question .... visiblement tout le monde réussi à régler le problème mais moi j'en suis à la xeme relecture des posts pour voir si je n'ai rien loupé  ... mais visiblement ca coince .....

 

j'ai suivi les indications données ici :

https://shop.devcustom.net/fr/content/9-mise-en-place-captcha?content_only=1

j'ai bien mis le code dans le fichier index.php

donc dans l'index.php j'ai

les infos de licences

mon code 

et ensuite

require(dirname(__FILE__).'/config/config.inc.php');
Dispatcher::getInstance()->dispatch();

Si je recharge cette page sur le site .... je ne trouve aucune trace de mon code ?


ensuite dans header tpl (que je trouve dans montheme/template/_partials/header.tpl

on me dit  de mettre le code juste avant la balise </head>, or le code dans cette page ressemble à ça

----------------

{block name='header_banner'}
  <div class="header-banner">
    {hook h='displayBanner'}
  </div>
{/block}

{block name='header_nav'}
  <div class="header-nav">
      <div class="container">
          {hook h='displayNav'}   
            <div class="hidden-md-up text-xs-left mobile">
            <div class="pull-xs-left" id="menu-icon">
              <i class="material-icons">&#xE5D2;</i>
            </div>
            <div class="pull-xs-right" id="_mobile_cart"></div>
            <div class="top-logo" id="_mobile_logo"></div>
            <div class="clearfix"></div>
          </div>
      </div>    
  </div>
{/block}


{block name='header_top'}

<div class="container">
    {hook h='displayHeaderMiddle'} 
    <div class="logo col-md-4 col-sm-12 col-xs-12 text-center hidden-sm-down" id="_desktop_logo">
  <a href="{$urls.base_url}" title="{$shop.name}">
    <img src="{$shop.logo}" alt="{$shop.name}">
  </a>
</div>
  {hook h='displayHeaderMiddle2'} 
</div>  

  <div class="header-top container"> 
    {hook h='displayTop'} 
  </div>
  {hook h='displayNavFullWidth'}
{/block}

        <div id="mobile_top_menu_wrapper" class="row hidden-md-up" style="display:none;">
        <div class="js-top-menu mobile" id="_mobile_top_menu"></div>
        <div class="js-top-menu-bottom">
          <div id="_mobile_currency_selector"></div>
          <div id="_mobile_language_selector"></div>
          <div id="_mobile_contact_link"></div>
        </div>
      </div>

 

------------------------------------------------

 

donc aucune balise   </head> .....

 

Si une âme charritable voulait bien éclairer ma lanterne .... 

 

merci

 

jacques

 

Link to comment
Share on other sites

  • 5 weeks later...
  • 3 weeks later...

Bonjour ,

Pour ma part j'ai bien installer le Captcha "je ne suis pas un robot" mais j'ai toujours des mail Russes qui arrive en masse

j'ai également supprimer dans le Footer l'adresse mail de contact mais rien n'y faire

que puis-je faire de plus pour stopper ces SPAM

Merci d'avance

Link to comment
Share on other sites

  • 1 month later...

j ai eu un peu de mal à tout comprendre (pas toujours simple le langage technique ^^)

pour prestashop 1.7

j ai créé mon compte sur https://www.google.com/recaptcha/admin#list
j ai téléchargé eicaptcha.zip (pj)

et j ai suivi les conseils d'arnaud

sur https://www.arnaud-merigeau.fr/add-recaptcha-to-prestashop/

puis j ai supprimé la file d'attente de spams sur mon serveur

ET j ai modifié mes mdp (mail)

ça fonctionne (j attends de voir l évolution les jours prochains)

 

eicaptcha.zip

Edited by lily fairy (see edit history)
  • Like 1
Link to comment
Share on other sites

53 minutes ago, lily fairy said:

j ai eu un peu de mal à tout comprendre (pas toujours simple le langage technique ^^)

pour prestashop 1.7

j ai créé mon compte sur https://www.google.com/recaptcha/admin#list
j ai téléchargé eicaptcha.zip (pj)

et j ai suivi les conseil d'arnaud

merci à https://www.arnaud-merigeau.fr/add-recaptcha-to-prestashop/

puis j ai supprimé la file d'attente de mail en .ru sur mon serveur

ça fonctionne (j attends de voir l évolution les jours prochains)

 

eicaptcha.zip

 

 

Informez que pour le spam produit par mail.ru et d’autres, il ne suffit pas d’installer Google reCaptcha. Vous devez acquérir un module conçu à cet effet ou modifier les fichiers de Prestashop (Contrôleurs)

Link to comment
Share on other sites

  • 3 weeks later...
On 23/9/2018 at 3:09 PM, Eolia said:

Rien, c'est du spam pour vendre son module^^

Le recaptcha Google installé comme expliqué ici bloque tous les robots, quelque soit le pays: https://shop.devcustom.net/fr/content/9-mise-en-place-captcha?content_only=1

 

Pardonnez Eolia. Il est prouvé que Google reCaptcha n'est pas suffisant pour cesser de recevoir du spam par courrier électronique .ru

J'ai fourni plusieurs supports à des clients avec ce problème et ils avaient installé reCaptcha dans leurs magasins.

En outre, de nombreux systèmes reCatpcha sont implémentés côté client, uniquement en javascript. Ainsi, si vous désactivez l’utilisation de javascript à partir du navigateur, le reCpatcha ne sera pas affiché et vous pourrez envoyer des messages à partir des formulaires de contact.

Pour cette raison, en plus de reCaptcha, cela doit être implémenté côté serveur pour que la validation se fasse sur le serveur, en plus d'autres techniques de pot de miel et surtout pour mettre à jour la version de Prestashop 1.6 vers la dernière version, ce qui renforce la sécurité contre ce type de pratiques de spam.

Je veux promouvoir mon module, mais aussi aider. Je vous rappelle que je suis membre de ce forum depuis de nombreuses années et que j’ai aidé de manière altruiste.

Merci

  • Like 1
  • Haha 1
Link to comment
Share on other sites

Seuls les négligent peuvent avoir prétendu installer le reCaptcha que coté client.

La documentation de 4 ligne de Google donne 2 étapes, aucune n'est prétendu optionnelle.

Un recaptcha (google ou autre) est toujours 2 composants, l'un frontend, l'autre backend.

Partout où le recaptcha a été correctement déployé (tuto @Eolia, snippet) cela s'est avéré parfaitement efficace.

Certains modules font cela, hélas dans 80% des cas de module (vendus addons) que j'ai croisé, le code ne fait pas le job.

 

Google reCaptcha est PARFAITEMENT efficace lorsqu'il est déployé comme il se doit !

 

Vous avez le reCaptcha, et vous voulez tester qu'il est complet (correctement installé)? c'est ici pour le bookmarklet de test: http://area51.enter-solutions.com/snippets/92

 

Link to comment
Share on other sites

Il y a 4 heures, LieBM a dit :

Pardonnez Eolia. Il est prouvé que Google reCaptcha n'est pas suffisant pour cesser de recevoir du spam par courrier électronique .ru

J'aimerai voir vos sources concernant cette affirmation.

Il y a 5 heures, LieBM a dit :

En outre, de nombreux systèmes reCatpcha sont implémentés côté client, uniquement en javascript. Ainsi, si vous désactivez l’utilisation de javascript à partir du navigateur, le reCpatcha ne sera pas affiché et vous pourrez envoyer des messages à partir des formulaires de contact.

Si vous avez suivi le lien vous verrez que vous avez tord. Le code fourni utilise la double vérification, en js et en php. https://shop.devcustom.net/fr/content/9-mise-en-place-captcha?content_only=1

J'attends vos 200 messages (javascript désactivé) en 2min ici https://shop.devcustom.net/fr/nous-contacter et on en reparle^^

Il y a 5 heures, LieBM a dit :

Je vous rappelle que je suis membre de ce forum depuis de nombreuses années et que j’ai aidé de manière altruiste.

Le code fourni ici est complètement gratuit. Je refuse de vendre un produit qui est fourni gratuitement par Google et charger un module uniquement pour ça est inutile. Cette solution devrait d'ailleurs être implémentée par Prestashop nativement.

  • Like 1
Link to comment
Share on other sites

il y a 38 minutes, Mediacom87 a dit :

[troll]il te suffit de faire un PR :-)[troll]

 

Je vois d'ici leur réponse:

" Après analyse, il ne semble pas que cette fonctionnalité soit une priorité. En effet cela relève plus de la responsabilité du commerçant qui doit contrôler la manière de sécuriser sa boutique. Bien que cette proposition ne soit pas pertinente pour l'instant nous la conservons si jamais son implémentation devait s'avérer nécessaire dans le futur.

Sujet fermé"

  • Like 1
Link to comment
Share on other sites

9 hours ago, Eolia said:

J'aimerai voir vos sources concernant cette affirmation.

Si vous avez suivi le lien vous verrez que vous avez tord. Le code fourni utilise la double vérification, en js et en php. https://shop.devcustom.net/fr/content/9-mise-en-place-captcha?content_only=1

J'attends vos 200 messages (javascript désactivé) en 2min ici https://shop.devcustom.net/fr/nous-contacter et on en reparle^^

Le code fourni ici est complètement gratuit. Je refuse de vendre un produit qui est fourni gratuitement par Google et charger un module uniquement pour ça est inutile. Cette solution devrait d'ailleurs être implémentée par Prestashop nativement.

 

 

Je pense qu'il ne m'a pas expliqué correctement ou qu'il y a un désir de conflit.

Tout d'abord, je dis que Google reCaptcha peut être implémenté côté client, je dis qu'il existe des modules développés qui le font. Je ne dis pas que Google reCaptcha est conçu pour être implémenté côté client uniquement, mais je veux dire qu'il existe des modules qui sont conçus de manière incorrecte.

Votre code est bien implémenté, et je ne nie pas qu'il soit efficace. Je voulais seulement dire à la personne qui a ouvert le poste que la modification doit être effectuée dans les contrôleurs. Vous êtes celui qui a commenté sans raison que mon intention est de vendre mon module. J'essaie d'aider de nombreuses personnes sur ce forum, indépendamment du fait que je vends également des modules et que je le fais à partir de Prestashop Addons. Je contribue donc également à cette communauté et veille à ce que mes développements soient conformes aux directives de Prestashop.

Parfait, Google reCaptcha est gratuit, sa mise en oeuvre est gratuite. Mais vous devez avoir des connaissances pour pouvoir le faire. Lorsque vous achetez un module, il vous incombe de le faire automatiquement et facilement, et le développeur de ce module a le droit de perdre un prix pour votre travail et votre temps. Il est également dans son droit de l’offrir gratuitement. Chacun offre son temps libre où il veut et peut.

Mon module n'est pas seulement Google reCaptcha. Ce n'est qu'une option ajoutée. Mon module est plus complet, et en vente dans Prestashop Addons.

Eolia, j’apprécie votre travail, j’ai moi-même apprécié les modules que vous avez développés gratuitement et qui en disent long sur vous au sein de cette communauté. Mais je prie pour que vous ne méprisiez pas le travail des autres pour des commentaires. Soyez respectueux et respectez le travail des autres.

Merci

Link to comment
Share on other sites

On 7/8/2018 at 4:43 PM, raphael said:

Bonjour ,

Pour ma part j'ai bien installer le Captcha "je ne suis pas un robot" mais j'ai toujours des mail Russes qui arrive en masse

j'ai également supprimer dans le Footer l'adresse mail de contact mais rien n'y faire

que puis-je faire de plus pour stopper ces SPAM

Merci d'avance


Dans cet article, j'ai déclaré que Google ReCaptcha ne suffisait pas pour mettre un terme à ces pratiques de SPAM. J'analyse pour voir si je peux voir ce qui est dû, mais j'ai besoin des données de ces spams.

Link to comment
Share on other sites

  • 2 months later...

Bonjour,

J'ai bien suivi à la lettre vos tutos, qui sont très bien écrit d'ailleurs je vous remercie ! Mais rien n'y fait, le captcha n’apparaît même pas.

J'avais le module eicaptcha, qui ne suffisait pas semble-t-il, que j'ai donc désactivé pour tenter la solution présentée ici. Les emails reçus apparaissent en BO, pas que dans l'inbox de l'email, c'est pourquoi je cherchais une alternative.

C'est un presta 1.6.1.16. Je n'ai pas de contact-form à la racine. Je n'ai pas confondu private key et secret key. Le domaine est renseigné sans www. Les codes fournis sont bien placés.

Auriez-vous s'il vous plait une idée de pourquoi le Captcha n’apparaît pas ? Un grand merci d'avance pour vos idées !

Link to comment
Share on other sites

Je viens de remarquer qu'entre les deux tutos, il y avait une différence, dans celui d'Eolia pour header.tpl, il y a en bas la partie suivante qui n'est pas présente dans celui d'arnaud :

{if !isset($language_code)}{assign var="language_code" value=$lang_iso}{/if}
<script src="https://www.google.com/recaptcha/api.js?hl={$language_code}"></script>
<script>
	if ( window.history.replaceState ) {
		window.history.replaceState( null, null, window.location.href );
	}
</script>

Je l'ai donc ajoutée, et le captcha s'affiche maintenant. Le message test est bien arrivé. Reste à voir si les russes sont bloqués, je reste confiante que ce sera le cas vu vos témoignages.

Edited by Juke29
ajout (see edit history)
Link to comment
Share on other sites

J'ai écrit un message suite à mon précédent, avant vos réponses, mais il est "caché" (apparemment il doit être approuvé). Je retente alors. Le voici donc :

 

Je viens de remarquer qu'entre les deux tutos, il y avait une différence, dans celui d'Eolia pour header.tpl, il y a en bas la partie suivante qui n'est pas présente dans celui d'arnaud :

{if !isset($language_code)}{assign var="language_code" value=$lang_iso}{/if}
<script src="https://www.google.com/recaptcha/api.js?hl={$language_code}"></script>
<script>
	if ( window.history.replaceState ) {
		window.history.replaceState( null, null, window.location.href );
	}
</script>

Je l'ai donc ajoutée, et le captcha s'affiche maintenant. Le message test est bien arrivé. Reste à voir si les russes sont bloqués, je reste confiante que ce sera le cas vu vos témoignages.

Merci en tout cas pour votre aide !

Edited by Juke29 (see edit history)
  • Like 1
Link to comment
Share on other sites

Salut a tous et bonne année 2019.
J'ai installé Recaptcha la semaine dernière grace au script de doekia et Eolia - (merci d'ailleurs a eux d'avoir fait le boulot).
Depuis, le spam a changé mais n'a pas stoppé.
En effet, 1ere difference : le contenu du message :

Adresse e-mail du client : [email protected]

Message du client : Добрый вечер.

Если вы читаете данный текст, значит Ваш почтовый ящик был выбран среди несколько сотен везунчиков, которым выпал шанс получить материальное вознаграждение.

УЗНАТЬ СУММУ ВОЗНАГРАЖДЕНИЯ

-----

la dernière ligne étant un lien.
2 eme difference :
Toutes les adresses d’expéditeurs sont en gmail.com

J'ai lu quelque part que les spammeurs avaient un moyen de bypasser Recaptcha en prélevant la clé du site et en soumettant une demande a google sans "referer" ce qui permettrait d'avoir une vrai bonne réponse de google . On sait que recaptcha est étroitement lié au compte google. Donc je me demande si mon problème de spam en gmail ne vient pas de la...
Si vous avez une idee, je suis preneur .
Merci d'avance.
SpaceMoO

Edited by spacemoo (see edit history)
  • Like 1
Link to comment
Share on other sites

  • 1 year later...

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
×
×
  • Create New...