Jump to content
Sign in to follow this  
Locace

Techniques anti-spam

Rate this topic

Recommended Posts

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+

Share this post


Link to post
Share on other sites

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...

Share this post


Link to post
Share on other sites

Salut,

Perso j'utilise la petite enigme, une petite addition à faire, du fait maison qui marche parfaitement.

Share this post


Link to post
Share on other sites

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

Share this post


Link to post
Share on other sites

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...).

Share this post


Link to post
Share on other sites

les captchas sont anti ergonomiques au possible. Quand on a la possibilité de faire autrement (variable de session) pourquoi s'en priver ?

Share this post


Link to post
Share on other sites

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.

Share this post


Link to post
Share on other sites

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.

Share this post


Link to post
Share on other sites

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 :whistling:

Share this post


Link to post
Share on other sites

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
Sign in to follow this  

×
×
  • Create New...