cockpitinferno Posted December 29, 2011 Share Posted December 29, 2011 Voilà j'utilise cet excellent module: http://www.mygeeksgi..._product=18&p=5 sur ma version 1.2.5, mais parfois je me fais spammer et recois jusqu'à 2 ou 3 commentaires bidon pa jour (c'est par période) j'ai doc voulu ajouter un captcha en utilisant recaptcha mais en regardant les explications pour intégréer tout ca, je me rends compte que je ne sais pas du tout comment faire. j'ai réussi à afficher le captcha en insérant le script de ce lien: http://code.google.c...s/formmail.html dans mon fichier productcomments.tpl, mais pour la suite je sèche complètement. de plus je ne sais pas si je dois utiliser la méthode "php" ou "formail" ou autre. est ce que qqun ici saurait m'éclairer d'autant que je suis sure que ca pourra servir à beaucoup d'entre nous. merci d'avance. Link to comment Share on other sites More sharing options...
cockpitinferno Posted January 3, 2012 Author Share Posted January 3, 2012 ca n'interesse personne? suis je la seule à recevoir des spams dans les commentaires? Link to comment Share on other sites More sharing options...
virtualgadjo Posted January 3, 2012 Share Posted January 3, 2012 hello, je ne sais pas pour le captcha parce que je n'aime pas trop ça (et les utilisateurs non plus...) pour éviter les spams, voilà ce que je fais partant du principe que les spams sont envoyés par des moteurs (sinon, de toute façon, le captcha ne sert à rien) je mets un champ texte en début de formulaire avec une classe grace à laquelle je balance ce champ 10000 pixel à gauche (donc pas vu par un utilisateur), j'appelle ce champ laisservide ou je lui mets un title du genre pour les lecteurs d'écrans (truc qu'un robot stupide ne comprendra pas) et, bien sûr une value="" à la validation du formulaire, si ce champ n'est pas vide = moteur = die(); effet garanti testé de nombreuses fois sur des sites spammés aussi si ton module te permet de personnaliser le formulaire et sa validation, c'est simple et efficace have swing édité pour une petite anecdote j'ai tenu longtemps un forum sur le jazz gitan et, au début, à l'inscription, j'avais mis un captcha justement. un jour je reçois un mail d'un gars me demandant de l'aider à s'inscrire parce qu'il ne voyait pas bien le truc en bas je lui réponds "t'inquiète, moi aussi, à nos âges..." et là le gars me réponds en rigolant "et bien en fait, je suis aveugle" depuis ce jour je n'ai plus jamais utilisé de captcha Link to comment Share on other sites More sharing options...
cockpitinferno Posted January 4, 2012 Author Share Posted January 4, 2012 merci pour ta réponse, pourrais tu me donner le bout de code que tu as utilisé? car le module ne permet pas d'ajouter un champ comme ca mais a mon avis y a peut etre moyen de le rajouter dans le tpl. Link to comment Share on other sites More sharing options...
virtualgadjo Posted January 4, 2012 Share Posted January 4, 2012 hello, le truc n'est juste de rajouter un champ au formulaire, il faut être sûr de pouvoir le valider ensuite juste pour vérifier qu'il est bien vide, si pas, adios -> die(); je fait un truc du genre juste en dessous de la balise d'ouverture du formulaire <div class="rt"><input type="text" name="laisservide" id="laisservide" value="" /></div> dans les css .rt { position: absolute; left : -10000px; } le mettre dans un div c'est juste pour être valide en strict les éléments de formulaire ne devant pas se balader "à sec" en strict mais tu peux le faire en mettant juste l'input et la class dessus ensuite, dans les verif, à adapter à la façon dont les vérif du module fonctionnent if ( !empty($_POST) ) { if ( $_POST['laisservide'] != "" ) die(); } et hop, adios robots spammeurs have swing Link to comment Share on other sites More sharing options...
cockpitinferno Posted January 4, 2012 Author Share Posted January 4, 2012 chui pas sure d'avoir tout bien compris mais je vais essayer. merci Link to comment Share on other sites More sharing options...
cockpitinferno Posted January 4, 2012 Author Share Posted January 4, 2012 je viens de le faire et au moins je n'ai pas de bug. j'ai réussi à ajouter le champ, pour le moment je l'ai rendu visible pour pouvoir faire des tests et en fait quand je mets ton code, ca me renvoi une page vide mais par contre je recois quand même le commentaire. j'ai essayé de mettre ca ) la place de die(); $errors[] = $this->l('laisservide is not required.'); mais ca ne fonctionne pas, aurais tu une idée du code à mettre à la place? merci encore pour ton aide. Link to comment Share on other sites More sharing options...
cockpitinferno Posted January 4, 2012 Author Share Posted January 4, 2012 bon je viens de juste changer de place le code php et ca fonctionne. merci beaucoup pour ton astuce très facile à mettre en place. Link to comment Share on other sites More sharing options...
virtualgadjo Posted January 4, 2012 Share Posted January 4, 2012 hello, ben pour t'aider, faudrait que je vois comment le module traite le formulaire en fait ajouter un champ au formulaire ne devrait pas lui poser de problème, à la limite il ne s'en occupe carrément pas, c'est au moment de traiter les données que ça se fait mais une chose est sûr c'est que is not required ça ne doit pas être ça si tout baigne quand tu envoie le formulaire avec le champ vide et que tu as une page blanche si tu mets des données dedans, c'est le but du jeu en fait, en clair, si un moteur remplit ce champ, ça n'envoie pas de données et ça ne livre plus rien, ça arrête tout d'où die(), ne fais pas de sentiments avec les moteurs de spams en revanche si le champ n'est pas rempli, tout doit fonctionner sans problème si tu veux vérifier que c'est bien l'effet die mets du texte dedans genre die('bye bye spammeurs de mes...'); have swing Link to comment Share on other sites More sharing options...
cockpitinferno Posted January 4, 2012 Author Share Posted January 4, 2012 merci en tt cas tout fonctionne nickel. Link to comment Share on other sites More sharing options...
cockpitinferno Posted January 6, 2012 Author Share Posted January 6, 2012 j'ai enlevé "résolu" car je recois encore des spams. j'ai refait le test et l'astuce du champ supplémentaire invisible fonctionne. donc c'est que soit c'est une personne qui me spam soit c'est un robot intelligent. Link to comment Share on other sites More sharing options...
Mellow Posted January 9, 2013 Share Posted January 9, 2013 Je déterre ce topic pour dire merci à virtualgadjo pour l'astuce du champs caché qui doit rester vide. Je ne connaissais pas mais c'est simple à mettre en place et ça peut avoir son efficacité, même en complément d'un captcha (car les robots sont malheureusement de plus en plus malins ) Juste une petite suggestion : Pour une meilleur efficacité je ferais en sorte de donner à ce champ une appellation vraisemblable, pour que ça ressemble vraiment à un champ légitime. ex: Si vous avez un champ "email" vous pouvez appeller ce champ caché "confirm-email" Ensuite on peut même faire un traitement pour simuler l'envoi réussi au cas ou ce champ serait rempli... Link to comment Share on other sites More sharing options...
Recommended Posts
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 accountSign in
Already have an account? Sign in here.
Sign In Now