Le spam, ou pourriel, est devenu la plaie numéro 1 de l’internet : il concerne 4 courriels sur 5 dans le monde. Bien sûr, il existe de nombreux filtres efficaces mais la bande passante, l’énergie et le temps perdu à vérifier sont considérables et sont en progression constantes. Malgré tout, laisser à l’internaute la possibilité de nous écrire un e-mail est un gage de sérieux et de qualité et un excellent moyen de retour d’informations. Comment concilier visibilité et protection de nos adresses ?
Les robots de récupération d’adresses mail sont assez frustres et se basent sur une recherche simple : l’arobase. Il suffirait donc de cacher le fameux @ pour tromper ces chapardeurs discourtois. Une technique simple consisite à encoder ce caractère en le transformant en une entité de la forme « @ » dans le code HTML. Une adresse mail sous la forme « toto@example.com » en HTML donnerait donc « toto@example.com » dans un navigateur. Notez qu’il est aussi possible de l’écrire sous la forme hexadécimale « toto%40example.com » mais sans pouvoir l’afficher correctement.
Voici donc une solution à la fois accessible, puisqu’elle fonctionne sur quasiment tous les navigateurs à l’exception de très anciennes versions, et suffisamment complexe pour leurrer les aspirateurs malveillants. Insérer le code suivant :
<a href= »mailto:toto%40example.com »>toto@example.com</a>
pour avoir le résultat toto@example.com. Regardez au passage l’affichage dans votre barre d’état lorsque vous survolez ce lien.
L’exemple donné fait volontairement apparaître l’adresse sur la page pour une raison simple : se retrouver avec un morceau de papier sur lequel il est écrit « contact » ou « nous écrire » n’est pas un exemple de bonne pratique. Avouez qu’l serait dommage de rater un courriel parce que le visiteur a imprimé la page, non ?
S’l y a bien d’autres possibilités, celle-ci semble allier résultat et accessibilité, contrairement aux solutions à base de Javascript. Il serait également possible d’encoder certains caractères de manière aléatoire. Et vous comment faites-vous ?
Excellent, je ne connaissais pas cette technique et c’est un réel problème qui pourrait être résolu !
Néanmoins, je me pose une question: si les robots de récupération d’adresses mail sont capables de rechercher l’arobase (@)dans les pages, ne crois-tu pas qu’ils seront capables de chercher les %40 et @ ?
Référer l’adresse en mailto: est une cible en soi. Si je codais un aspirateur d’adresses qui ne cherche que les mailto: je lui ajouterais une petite expression régulière pour remplacer tout ce qui n’est pas alphanumérique par un @ ou pour détecter les caractère de remplaacement… le plus simple n’estst-il paas d’avoir un bon anti-spam ?
Personnellement, je n’aime pas beaucoup les mailto, qui ouvrent un logiciel de courrier, ce qui a le don de déstabiliser certains utilisateurs. Je pense que l’on peut faire cette manipulation sans pour autant mettre en place de mailto, qui sont il est vrai des cibles de choix….
Bonne question. Personnellement je veille à ne jamais diffuser mon email en clair sur les sites Web mais c’est une protection bien fragile : rien qu’en envoyant un email via un client de messagerie à 1 personne avec une adresse vierge, le spam afflue quelques jours plus tard (merci les PC infectés en face …).
J’utilise un bon vieux formulaire de contact interfacé avec une base de données ou quand je tiens vraiment à faire connaitre publiquement mon email, je laisse des indications claires pour que le visiteur la compose sans se tromper.
C’est vraiment un des rares points sur lesquels je trouve que l’accessibilité se transforme en une contrainte.
Après il faut savoir que les robots spammeurs arrivent à valider des formulaires de contact (sic) et écrivent à des emails de façons aléatoire (bob@domaine.com, security@domaine.com etc.).
Honnêtement, l’encodage des caractères, c’est une question de temps (si ce n’est pas déjà fait) avant que cela soit interprété comme un @ par les robots. Je suis même à peu près persuadé que des contournements du style "bob at domaine dot com" ou "roger (a) truc.com" sont interprétés comme il faut par les robots.
Le SPAM c’est une véritable saleté -_-
Robi et Denis : je suis tout à fait d’accord sur le fait que cette protection paraît bien fragile étant donné la facilité avec laquelle on peut la contourner. Et pourtant, elle suffit à se débarasser d’une bonne partie des robots qui se contente de récupérer les adresses sans le moindre traitement. Les méthodes de récupération évolueront forcément lorsqu’une proportion importante de sites mettront en place une parade du type de celle décrite dans ce billet.
J’utilise cette fonction qui combine les encodages : http://www.biologeek.com/contact...
Et depuis quelques années ça marche plutôt pas mal. Maintenant il y a tellement de sources de spam qu’il est difficile de savoir d’où ils proviennent…
Hello,
Je trouve l’article très intéressant, mais j’approuve les réponses de Robi, Denis et Tom sans oublier la méthode de David.
Mais toutefois, je reste un partisan du Captcha intelligent (une sorte de test de Turing ?).
J’avais fait un petit article sur mon ancien blog : users.skynet.be/digital-n… ainsi que donné une petite explication sur les Captcha intelligent (en javascript mais totalement réalisable en PHP ou autre…) : users.skynet.be/digital-n… !
Bien entendu, il faut rendre à César ce qui lui appartient, mettre en oeuvre un Captcha n’est pas encore à portée de tous (sans oublier l’accessibilité si la solution choisie est en javascript).
La solution la plus évidente est malheureusement encore et toujours le formulaire couplé au Captcha.
Qu’en pensez-vous ?
Si envoi avec formulaire il y a, plutôt que mettre un Captcha, autant utiliser le service Akismet qui est très pertinent. Je le trouve en tous cas bien pratique.
@ Tom : ca existe dans d’autres langues que l’anglais ? Parceque si tu fais un francais, tu peux pas te permettre de mettee des question en anglais, que certains ne comprendront pas
@ Fabrice : en fait il suffirait de faire une page liée à site référencé surlquelle on mettrait des adesses email de manières différentes (normale, avec %40, @, avec et sans mailto:, avec les méthodes David & Groumpy, etc) mais avec à chquae fois una dresse mail différente (1, 2, 3, 4, etc) et voir après quelques semaines (ou mois) laquelle a recu le moins de mail. Et à tu veras le meilleur filte. Ca tente quelqu’un de le faire ? 🙂
L’idée de base était de trouver une méthode pour permettre de laisser une adresse sur un site internet, le formulaire avec captcha n’y répond pas vraiment, surtout sur papier. 😀 Par contre, dans le cadre de la lutte contre le spam de commentaires sur un blog, il prend tout son sens.
Robi : l’idée de référencer des adresses avec des méthodes différentes est déjà en cours de réalisation. 😉
"l’idée de référencer des adresses avec des méthodes différentes est déjà en cours de réalisation. ;-)"
Arf, je venais de terminer une page de test. Tant pis, j’attendrais vos résultats 😉
Sébastien.
Si le but se cantonne à "l’affichage" de mail, dans ce cas avec un petit script côté serveur remplacant toutes les adresses à la volée par leur équivalent en image ça doit le faire et mettre un lien sur cette image pointant vers un formulaire de contact. Mais comme je l’ai écris dans un billet j’ai bien peur qu’on ne s’oriente à terme vers des messageries payantes
Ludovic : quand je parle d’accessibilité et d’impression, il ne faut pas réfléchir en termes visuels. Une imprimante, c’est aussi un appareil qui inscrit des points en braille sur une feuille et qui ne saura pas retranscrire une image.
En ce qui concerne le couperet de la messagerie payante, il suffit de voir combien les tarifs postaux empêchent l’envoi en masse de publicités dans nos boîtes à lettres. 😉
@ Sébastien : fais le quand même aussi, c’est mieux d’avoir deux sources pour comparer les résultats !!!
Bonjour bonjour,
Voilà je viens de faire une page de test sur Tentatives Accessibles, comme le dit Robi il peut être intéressant d’avoir plusieurs sources de résultats.
Le but étant d’afficher une adresse email sous un format accessible (j’ai donc zappé les solutions images, captcha, …). Résultats dans un mois.
Sébastien
@ Fabrice > Dans ce cas, j’avais mal compris le but louable de cet article !
Dans un cas similaire, pourquoi ne pas alors utiliser la propriété "content" sur une pseudo-élément "after" (pour l’affichage et on maintiendrais alors "un codage primaire" en language PHP pour éviter le spamming) ?
Comme nous le savons tous, les robots spammeurs ne respectent pas le fichier Robots.txt et doivent certainement lire les fichiers CSS. Ce qui implique qu’on doit se montrer un peu plus malin qu’eux : enchainer une série de "span" (j’ai pas dit spam 🙂 ) afin d’afficher l’adresse complète.
La CSS contiendra par exemple 3 séries de pseudo-élements (une pour le début de l’adresse, la seconde pour le millieu et la troisième en fin).
Reste encore et évidemment le problème d’IE.
@ Ludovic > Malheureusement la remarque de Fabrice est totalement réelle… Et de plus de très nombreux robots spammeur peuvent lire ce type d’image ! Donc totalement inutile !
@ Sebastien : Cool n j’ai hate d’avoir les résultats …
Heu sans vouloir abuser, tu voudrais pas tester des trucs du style:
– test9 (at) site (point) com
– test10 at site.com
C’est juste parceque je suis surieux de voir si des rabots sont déjà programmé pour avoir ce genre d’adresse 😉
@Robi: Voilà c’est fait. Je ne pense pas que les robots soient capables de décrire ce genre de chose, d’autant plus que l’on peut écrire "(point) com" dans différentes langues, avec ou sans parenthèses…
Les robots récupèrent surtout les adresses emails présentes après "mailto". Mais testons quand même.
Sébastien
Merci pour la solution. Se taper 50 mails par jour de spam c’est dur… Mais je sais qu’il y a pire !
Excellent titre! Merci.
C’est vrai que le spam devient de plus en plus présent.
Personnellement j’utilise la plupart du temps les formulaires avec un captcha, pour les liens mailto c’est assez difficile de les crypter vu que le résultat doit être le même au final.
Les antispams chez les hébergeurs reste à mon avis la meilleure solution
Merci pour cet article, je cherchais une solution efficace et à la fois accessible.
Que pensez-vous de l’utilisation d’une image pour afficher l’email en claire ? Elle est clairement affichée mais bien illisible par les robots, non ?
S’il y a des parasites dans l’image en question comme les Captcha et que l’adresse email n’est pas dans le code source je pense que sa devrait éviter tout spam.
Le mieux encore reste les formulaire de contact en PHP reste à mon avis le meilleurs moyens, aucun mail – si on a un captcha pas de risque de spam.
Oui, la meilleure solution anti-spam qui fonctionne à tous les coups est d’afficher l’email sur une petite image. Facile à réaliser avec le module graphique de Php. Il faudrait tester si les robots collecteurs d’emails ont prévu de décoder les images pour y trouver des emails comme ils le font avec les captchas .. Prévoir éventuellement des caratères déformés …
Le spam est une horreur. Comme vous l’avez précisé il faut laisser à l’utilisateur la possibilité de nous contacter en cas de problème, de question, ou de remerciements 🙂
J’ai testé la manière forte avec un codage entier en javascript de l’adresse et du l’anchortext vers le mailto mais les robots ont quand même réussi à trouver mon adresse email. Je recevais environ 30 spams par jour de viagra, elargissement, montres, et autres phishing.
Ce soir j’ai décidé qu’il fallait que ça change :
1/ changement d’adresse email
2/ mise en place d’un formulaire utilisable une fois connecté et avec une valeur max d’envois d’email par personne et par jour.
L’utilisateur ne voit pas mon adresse email sauf si je lui répond et au moins il n’a pas besoin d’un client de messagerie installé sur son pc (c’est le cas de beaucoup d’utilisateurs de webmail…) donc au niveau accessibilité je pense que c’est mieux.
De plus, le soucis rencontré avec le spam est à double tranchant puisque sont parfois considérés en spam de simples newsletter envoyées à des abonnés. L’amalgame est handicapant pour ceux qui eux ne spamment pas.
Gmail fonctionne pas mal effectivement
Les 2 derniers commentaires cachent de vilains liens. Les chats attirent les webcams sexy 😉
@Oncle tom : flingués, merci 😉