Locace Posté 21 Octobre 2011 Posté 21 Octobre 2011 Hello, J'ai un petit souci. Un de mes clients reçoit quantité de spam via le formulaire de contact de son site. J'aimerais éviter que ces faux messages soient enregistrés dans la base de données. Je ne peux donc pas me reposer uniquement sur un filtre antispam mails. J'ai pensé à plusieurs solutions mais je n'arrive pas à trancher. Quelle technique adopteriez vous ? Captcha Attendre 3 secondes avant de rendre le bouton envoyer accessible Faire appel à un service genre Akismet (payant) Mettre une petite énigme genre : 2 + 2 sur un des champs Autre ? Qu'en pensez-vous ? Avez-vous déjà eu ce souci ? A+
Aenoa Posté 21 Octobre 2011 Posté 21 Octobre 2011 Bonjour, Personnellement, j'utilises ReCaptcha et je n'ai pas eu de soucis j'ai testé de me spammer, et cela refuse instantanément si le code est identique au précédent. ReCaptcha est simple d'installation et d'utilisation, pour ce qui est de tes autres propositions,le 3 secondes serait géré via BDD ? ou Cookies ? car qu'importe la manière, si par exemple il envoi le formulaire, il suffit qu'il attende 3 secondes puis un "F5" et ça renverra quand même le formulaire...
adn Posté 21 Octobre 2011 Posté 21 Octobre 2011 Salut, Perso j'utilise la petite enigme, une petite addition à faire, du fait maison qui marche parfaitement.
Leonick Posté 21 Octobre 2011 Posté 21 Octobre 2011 une variable de session créée sur le formulaire et, ensuite, tu vérifies si cette variable a déjà été utilisée (tu l'enregistres éventuellement dans une table temporaire). Avantage : la variable de session utilisant les cookies oblige le visiteur à autoriser les cookies et supprime ainsi moult (mauvais) scripts de spam
yuston Posté 21 Octobre 2011 Posté 21 Octobre 2011 Salut, et pourquoi pas une combinaison de deux trois mesures: captcha (ou énigme, qui a l'avantage d'être plus accessible) + délai entre deux envois + Akismet en version gratuite si pas commercial (je savais pas que ça marchait pour les mails aussi...).
Leonick Posté 21 Octobre 2011 Posté 21 Octobre 2011 les captchas sont anti ergonomiques au possible. Quand on a la possibilité de faire autrement (variable de session) pourquoi s'en priver ?
Ernestine Posté 21 Octobre 2011 Posté 21 Octobre 2011 Bonjour, Parmi les recettes de grand-mère pour lutter contre le spam de formulaire, il y a aussi la technique du champ caché en CSS : <input type="text" id="truc" name="truc" /> input#truc {position: absolute;left: -500px;top: -500px;} Un utilisateur qui navigue à l'écran ne verra pas cet input et ne le remplira donc pas. Tandis qu'un robot, en général, remplit bêtement tous les champs. Donc côté serveur, si le champ a été rempli : on ne valide pas. Et pour les utilisateurs qui naviguent en mode texte, oral, brail, etc, on pourra faire précéder l'input d'un label du style : <label for="truc">Ne remplissez pas ce champ</label> (label également masqué en CSS). Mais bon, c'est loin d'être super fiable, pas plus que les autres techniques excepté le captcha. Je crois que désormais, bien souvent, les spammeurs viennent d'abord physiquement sur le site web à spammer afin de déblayer le terrain manuellement et voir comment remplir le formulaire. Ensuite, leur robot prend le relais. En effet, j'ai vraiment vu des trucs incroyables. J'avais mis en place un captcha texte avec des petites énigmes du genre : "combien font 4 x 5", ou "dernière lettre du mot machin", etc... Eh bien j'ai eu la surprise, un jour, de voir qu'un robot arrivait à y répondre. J'ai donc changé la série d'énigmes, j'ai eu la paix une semaine ou deux, et puis ça a repris. Je pense que le coup des énigmes ne peut fonctionner que si ces énigmes sont générées de façon aléatoire, par exemple : Quelle est la n° lettre du mot M ? où n est un chiffre tiré au hasard, et M un mot tiré au hasard dans une longue liste. Et encore, même ça, un spammeur humain peut créer un petit programme qui saura y répondre. Le coup de la session c'est pareil : rien n'empêche un robot d'accepter les cookies. Vérifier qu'il s'est passé au moins cinq secondes entre le remplissage du premier champ et l'envoi du formulaire ? Là encore, un humain peut facilement déblayer le terrain et programmer son robot pour faire ce qu'on attend de lui. Au final, malheureusement, je crois que jusqu'à aujourd'hui, la technique la plus fiable reste le captcha visuel (un code à recopier). D'un point de vue accessibilité c'est nul, mais c'est la méthode la plus efficace (et ce n'est même pas efficace à 100% car il existe des logiciels capables de détecter lettres et chiffres sur une image). PS : et pour Akismet, personnellement, je n'aime pas les filtres automatiques, qui se basent bien souvent sur la présence de tel ou tel mot clé. Il y a inévitablement des messages qui seront retenus par le filtre alors qu'ils étaient cleans.
yuston Posté 21 Octobre 2011 Posté 21 Octobre 2011 Niveau filtre anti-spam, Gmail est un des meilleurs de ce que j'ai pu voir. Limite, si cela ne dérange pas ton client, c'est d'envoyer tous les mails sur une adresse Gmail, et de les récupérer par pop3 ou autre sur sa vraie boîte.
Leonick Posté 21 Octobre 2011 Posté 21 Octobre 2011 ouai, gmail me marquait comme spam des mails de gg alert et il continue à me marquer certains de mes mails admin comme spam, mais pas tous. Donc qualité du filtre antispam avec tous ces faux positifs
Sujets conseillés
Veuillez vous connecter pour commenter
Vous pourrez laisser un commentaire après vous êtes connecté.
Connectez-vous maintenant