mise a jour captcha formulaire de contact

10 messages dans ce sujet

Posté(e) · Signaler ce message

Bonjour,

J'ai la version peel premium 7.1.0 et comme surement pas mal de monde je reçoit bcp de spam via le formulaire de contact. Le code captcha est surement plus a jour pour les robot et peut donc etre facilement cracké.

Sans installer forcement une nouvelle version de peel (car j'ai fait pas mal de changement ds le code(enfin une agence), peut-on simplement mettre a jour le captcha du formulaire de contact afin de réduire les spam ou les eradiquer?

En vous remerciant

 

Partager ce message


Lien à poster
Partager sur d’autres sites

Posté(e) · Signaler ce message

Bonjour,

Vous pouvez effectivement changer le captcha utilisé dans le formulaire, par exemple en utilisant reCAPTCHA. Cela nécessite un développement spécifique sur votre site.

La méthode la plus simple est d'utiliser la méthode du "pot de miel" que nous avons mis en place sur la version 9.3 de PEEL. Vous pouvez lire les topics https://forum.peel.fr/topic/16481-mail-frauduleux/ et https://forum.peel.fr/topic/15961-inscription-frauduleuse/ qui traitent du sujet.

Partager ce message


Lien à poster
Partager sur d’autres sites

Posté(e) · Signaler ce message

Bonjour, je me suis dernièrement pencher sur le sujet car en effet j'ai aussi beaucoup d'inscription "spam" et beaucoup de mail de contact via le formulaire type "spam" le tout surement automatiquement.

Je suis en version 7.2.0 et je vais prochainement passer a la dernière version si j'arrive a passer toutes mes données entre ces versions.

Bref, je penser mettre une sécurité en plus ou faire des changement de celle-ci mais cela aura aussi un impacte sur les utilisateurs réel et il faut le dire, remplir les captcha c'est chiant.

Je me suis donc tourner sur le fait que le formulaire étant rempli automatiquement, cela doit prendre moins de 1 seconde donc j'ai simplement désactivé le bouton et apres x secondes le bouton est actif, cela devrai empêcher pas mal de spam a ce niveau (c'est fait depuis a peine 24h donc je ne peut pas encore le confirmer réellement mais il me semble que se soit beaucoup mieux).

La première chose que j'avais faite c'est de n'autoriser le formulaire contact uniquement aux client connecté donc inscrit, dans /www/utilisateurs/contact.php J'ai ajouter ceci apres $GLOBALS['DOC_TITLE'] = $GLOBALS['STR_CONTACT_US'];:

if (!est_identifie()) {
	$_SESSION['session_redirect_after_login'] = get_current_url(true);
	redirect_and_die($GLOBALS['wwwroot'] . '/membre.php');
}

Si vous voulez garder le formulaire pour tous alors ne pas faire cela.

Ensuite je me suis pencher sur les inscription et dans /www/modeles/mon_modele/smarty/user_register_form.tpl presque tout en bas avant {$js_password_control} j'ai mis:

<script language="JavaScript" type="text/javascript">
 {literal}
(function() {
  var id_sub = "sub"; // id du bouton submit à désactiver
  var str_fin = "Ouvrir un compte"; // texte du bouton une fois actif
  var pre = "Il reste "; // chaine à insérer avant le compte
  var post = " secondes avant de pouvoir ouvrir un compte..."; // chaine à insérer après le compte
  var sub;
  window.onload=function() {
    sub = document.getElementById(id_sub);
    rebours(10);
  };
  function rebours(n) {
    if(sub.disabled) {
      if(n == 0) {
        sub.value = str_fin;
        sub.disabled = false;
      } else  {
      sub.value = pre+n+post;
      }
      setTimeout(function() {
        rebours(n-1);
      },1000);
    }
  }
})();
 {/literal}
</script>

cela permettra d'activer le bouton apres 10 secondes, vous pouvez modifier cela en changeant rebours(10);
Mais il faut aussi mettre un ID au bouton et désactivé celui-ci d'origine donc on modifie la ligne du bouton:

<p class="center">{$token}<input class="btn btn-primary" type="submit" value="{$submit_text|str_form_value}" /></p>

A changer par:

<p class="center">{$token}<input id="sub" class="btn btn-primary" type="submit" value="{$submit_text|str_form_value}" disabled/></p>

on a dont mis un id="sub" et mis disabled pour qu'il soit désactivé.

Ensuite je me suis rendu compte que un robot deja inscrit avais reussi a remplir le formulaire contact, j'ai donc fait la meme chose sur la formulaire contact donc dans /www/modeles/mon_modele/smarty/contact_form.tpl presque tout en bas, au dessus de {if !$skip_introduction_text}</div>{/if} j'ai mis:

<script language="JavaScript" type="text/javascript">
 {literal}
(function() {
  var id_sub = "sub"; // id du bouton submit à désactiver
  var str_fin = "Envoyer"; // texte du bouton une fois actif
  var pre = "Il reste "; // chaine à insérer avant le compte
  var post = " secondes avant de pouvoir envoyer..."; // chaine à insérer après le compte
  var sub;
  window.onload=function() {
    sub = document.getElementById(id_sub);
    rebours(10);
  };
  function rebours(n) {
    if(sub.disabled) {
      if(n == 0) {
        sub.value = str_fin;
        sub.disabled = false;
      } else  {
      sub.value = pre+n+post;
      }
      setTimeout(function() {
        rebours(n-1);
      },1000);
    }
  }
})();
 {/literal}
</script>

et quelque lignes au dessus j'ai aussi ajouté un ID sur le bouton et mis disabled comme ceci:

<td>{$token}<div style="text-align:center; margin-top: 10px; margin-bottom: 10px;"><input id="sub" type="submit" class="btn btn-primary btn-lg" value="{$STR_SEND|str_form_value}" disabled/></div></td>

 

Je vais voir dans les prochains jours si ça fonctionne, je devrai etre rapidement fixé vu le nombre reçu chaque jours en temps normal.

Je sais pas si c'est optimisé mais ça fonctionne sur ma version 7.2.0 et on touche pratiquement pas au code d'origine.

Si ça peut vous aider et en aider d'autres c'est top ;)

 

Bonne journée.

Partager ce message


Lien à poster
Partager sur d’autres sites

Posté(e) · Signaler ce message

Je confirme que j'ai plus eu d'inscription ou de contact via formulaire par des robots depuis cette modification.
J'ai bien eu des inscription d'utilisateurs réel (oui j'ai quand même vérifier que on ne bloquer pas toutes les inscriptions)

Mais ça fait bizarre maintenant j'ai l'impression que je reçois plus les mail tellement c'est calme lol j'était dernièrement a environ 250 mails via le formulaire sur le mois donc presque une 10ene chaque jours...

Partager ce message


Lien à poster
Partager sur d’autres sites

Posté(e) · Signaler ce message

Merci bcp pour vos messages bien utiles. Je vais essayer cela de mon côté.

 

Partager ce message


Lien à poster
Partager sur d’autres sites

Posté(e) · Signaler ce message

De rien, depuis que j'ai mis cela donc en 15 jours j'ai eu 3 mails qui sont passé alors que logiquement sur 15 jours j'aurai eu en temps normal plus de 100 mails.

C'est pas infaillible mais ça réduit beaucoup.

Partager ce message


Lien à poster
Partager sur d’autres sites

Posté(e) · Signaler ce message

J'ai fais les modif sur le formulaire de contact, le bouton se valide bien au bout de 10 secondes mais après 48 de test je reçoit tjrs le meme nombre de spam... de mon côté j'ai pas la modif pour que uniquement les clients enregistré puisse remplir le formulaire. Je pense que les robots de spam attendent et valide tant que la page n'est pas rafraichie... c'est dommage je trouvais l'idée très bonne.

Partager ce message


Lien à poster
Partager sur d’autres sites

Posté(e) · Signaler ce message

J'ai fais les modif sur le formulaire de contact, le bouton se valide bien au bout de 10 secondes mais après 48 de test je reçoit tjrs le meme nombre de spam... de mon côté j'ai pas la modif pour que uniquement les clients enregistré puisse remplir le formulaire. Je pense que les robots de spam attendent et valide tant que la page n'est pas rafraichie... c'est dommage je trouvais l'idée très bonne.

Vraiment bizarre car j'ai plus rien de mon coté... juste un robot qui était inscrit qui est passé au travers et a donc validé un formulaire de contact, j'ai désactivé cet utilisateur et j'ai plus rien eu... 

Partager ce message


Lien à poster
Partager sur d’autres sites

Posté(e) · Signaler ce message

J'ai fais les modif sur le formulaire de contact, le bouton se valide bien au session de 10 secondes mais après 48 de test je reçoit tjrs le meme nombre de spam... de mon côté j'ai pas la modif pour que uniquement les customers enregistré puisse remplir le formulaire. Je pense que les robots de spam attendent et valide tant que la page n'est pas rafraichie... c'est dommage je trouvais l'idée très bonne.

Thanks.

Packers and movers in Bangalore

Partager ce message


Lien à poster
Partager sur d’autres sites

Posté(e) · Signaler ce message

Bonjour, me voila 1 an plus tard... j'ai fait quelques changement, j'ai rendu le formulaire de contact disponible uniquement si l'utilisateur est identifié.

Du coups j'ai du filtrer sur les inscriptions, autoriser que certains caractères en nom prénom par exemple pas de chiffre, etc... Le nom et prénom doivent être différents, contrôler si le code postal correspond au pays, etc... pour un utilisateur classique ça passe, j'ai même profité de cela pour le numéro de TVA Intracom qu'il soit au bon format. Donc du coups plus d'inscription russe et donc plus de formulaire de contact par ces robots.

Partager ce message


Lien à poster
Partager sur d’autres sites

Créer un compte ou se connecter pour commenter

Vous devez être membre afin de pouvoir déposer un commentaire

Créer un compte

Créez un compte sur notre communauté. C’est facile !


Créer un nouveau compte

Se connecter

Vous avez déjà un compte ? Connectez-vous ici.


Connectez-vous maintenant

Twitter Advisto ecommerce

Facebook PEEL Shopping