1178 sujets

Accessibilité du Web

Comment concilier accessibilité des mailto et lutte antispam ?

Il existe diverses méthodes pour contrer le spam :
1/ cryptage (via php ou javascript notamment)
2/ adresse dans l'image ou captcha
3/ propriété CSS :after
4/ propriété CSS afin de lire à l'envers l'email
.backwards {
unicode-bidi:bidi-override;
direction: rtl;
}
cf : danzcontrib

Le problème avec ces méthodes est dans l'ordre :

1/ le cryptage avec JavaScript demande un <noscript> légitime pour être accessible, or si l'adresse mail est mise en claire dans ce noscript, le JS s'avère superflu et inutile, vous serez spammé ! Pour le Php, l'encodage se fait de manière très basique
<?
function email_encode($string)
     {
      $ret_string="";
      $len=strlen($string);
      for($x=0;$x<$len;$x++)
          {
          $ord=ord(substr($string,$x,1));
          $ret_string.="&#$ord;";
          }
      return $ret_string;
     }
echo email_encode("contact@43432467.com");
?>
et sera déjoué par nombre de robots ! Complexité finallement décevant et donc inutile !

2/ L'image demande un attribut alt ... l'on en revient au meme probleme que pour le JavaScript ... et contrairement à ce que j'ai vu sur un site, ne mettez pas votre email en clair dans le alt ! Smiley lol Le captcha pose également des problemes puisqu'étant une image, donc illisible par les non-voyants et aussi par les navigateurs textes etc.

3/ La propriété :after ... IE ne la reconnait pas et une page Web se doit d'être consultable intelligemment dans feuille de style quand à son contenu, donc ce n'est qu'une astuce, mais qui s'avère trop limitative dans sa diffusion pour s'avèrer intéressante ...

4/ unicode-bidi:bidi-override; direction:rtl; pose la même problématique que after quand à la lisibilité sans la feuille CSS, mais est plus intéressant car lisible dans IE ...

Les formulaires n'ont pas été évoqués ici, car dans le cas de OVH par exemple la fonction mail() est fort capricieuse, et l'utilisateur a de fortes chance de tomber sur une page d'erreur frustrante ...

En résumé, je n'ai pas à ce jour trouvé de solution permettant de concilier échange entre les internautes + antispam + accessibilité
Peut -etre serait il intéressant de mettre un fichier .wav en téléchargement avec l'adresse mail épelé ... mais je trouve ça un peu lourd !

Et vous quelle méthode utilisez vous afin de tenter de faire au mieux ?
Modifié par Gunner4902 (15 Feb 2007 - 10:24)
Salut,

a écrit :
Les formulaires n'ont pas été évoqués ici, car dans le cas de OVH par exemple la fonction mail() est fort capricieuse, et l'utilisateur a de fortes chance de tomber sur une page d'erreur frustrante ...

J'ai eu le problème aussi chez eux quand j'ai migré mon site, et car mon formulaire php postait les messages grâce à un fichier nommé formmail.php
Or quand je postais, j'avais un message comme quoi ce fichier, pourtant bien présent sur le ftp au bon endroit était introuvable. J'ai contacté OVH, qui m'a dit que le nom "formmail" était bloqué pour des raisons de sécurité, et qu'il existait une liste de noms bloqués aussi. J'ai suggéré qu'ils publient cette liste quelque part, ce qui aiderait leurs utilisateurs, mais bon ça leur donne du travail alors je pense qu'ils le feront pas.

Concernant ton interrogation, tu peux faire un tour dans ce post où sont suggérées des idées intéressantes.
Hello,

C'est très simple. A partir du moment où il s'agit de cacher une information à une catégorie d'utilisateurs, tu perds forcément en accessibilité.

Il faut donc trouver un juste milieu entre le filtrage des spams au niveau de ton client mail, qui sera douloureux pour toi, et le filtrage au niveau de ta page, qui sera douloureux pour les utilisateurs.

Tu peux jeter un coup d'oeil au script que je propose.
Julien Royer a écrit :
Tu peux jeter un coup d'oeil au script que je propose.

Que je plussoie au passage, vu qu'il permet de respecter une accessibilité minimale en cas de non activation de Javascript.
Florent V. a écrit :
Que je plussoie au passage, vu qu'il permet de respecter une accessibilité minimale en cas de non activation de Javascript.
Pareil! C'est vraiment très bien ce script, une très belle utilisation intelligente de javascript. Smiley thumpup
C'est un bon script, avec parsage et tout ...
Personnellement j'ai opté pour celui de caspam.org, qui (à ce jour) n'a pas été mis à mal par les bots !

j'ai finallement mis dans le <noscript> ceci :

Vous pouvez nous contacter à : prénom ou pseudo du destinataire (prénom1, pseudo1, prénome2)+@nomdedomaine.com

le tout sans espace, ce qui permet d'envoyer une fausse adresse e-mail aux bots par la meme occasion.
Smiley smile
Qu'en pensez-vous ?
Gunner4902 a écrit :
Vous pouvez nous contacter à : prénom ou pseudo du destinataire (prénom1, pseudo1, prénome2)+@nomdedomaine.com

le tout sans espace, ce qui permet d'envoyer une fausse adresse e-mail aux bots par la meme occasion.
Je ne saisis pas. Peux-tu expliquer, s'il te plaît ?

Par ailleurs, l'usage de la balise <noscript> n'est pas vraiment une bonne solution puisque son contenu ne sera affiché que pour les navigateurs qui ne supportent pas du tout JavaScript, et pas pour ceux qui le supportent mais pas suffisamment pour exécuter ton script.
Pas de soucis pour tenter de vous expliquer mieux que ça.

Voici le contenu de ma page contact :

<h2>Contactez-nous</h2>
	<h3>Webmaster - rédacteur</h3>
		<ul>
		         <li><script type="text/javascript" src="riri.js"></script> <noscript>Riri</noscript></li>
		</ul>
	<h3>Rédacteurs</h3>
		<ul>
			<li><script type="text/javascript" src="fifi.js"></script> <noscript>Fifi</noscript></li>
			<li><script type="text/javascript" src="loulou.js"></script> <noscript>Loulou</noscript></li>
		</ul>
					
<noscript>
	<h3>En cas de désactivation de JavaScript</h3>
		<p>Vous pouvez nous contacter à : pseudo du destinataire (Riri, Fifi ou Loulou)+@nomdedomaine.com</p>
</noscript>


Donc si l'internaute a JS : 3 mailtos différents s'affichent

Si l'internaute n'a pas JS d'activé : 4 <noscript> s'affichent :
les adresses mails sont remplacées par les pseudos et une notice supplémentaire s'affiche sous les 3 mailtos afin d'expliquer la démarche pour contacter les différents interlocuteurs. Ainsi la solution est 100% accessible, que l'on est JS ou pas, ou que l'on soit sous navigateur visuel ou texte (du moins dans mon raisonnement, mais si vous voyez une faille n'hésitez pas à me la signaler)

Si je n'ai pas été clair, je peeut répépéter Smiley lol
Modifié par Gunner4902 (15 Feb 2007 - 15:42)
Bonjour à tous, poru mon premier post, j'essaie de filer un coup de main vu que cela fait plusieurs mois que je profite de vos lumières sans pour autant rentrer dans la conversation Smiley smile

Au niveau du spam et des encodages joyeux, j'ai une solution qui fonctionne pas mal (pour moi et jusqu'à maintenant)...
J'ai fait pas mal de formulaires de contact et quand on a un problème (serveur, connexion...), le visiteur n'est pas forcément ravi ou enclin a revenir sur le formulair, en terme d'accessibilité, c'est encore pire. Proposer donc une alternative en dessous d'un formulaire ou sur la page de validation me paraissait intéressant, mais celadevient bien évidemment une adresse poubelle.
De plus le méta "reply-to" m'a déja servi (contact spontanés) et y glisser du javascript ne fait pas propre.

Mon bidouillage est simple: une adresse genre contact-site@MONSITE.COM sur laquelle j'ai mis un répondeur automatique qui renvoie un message du style "bonjour, merci de votre contact, cependant pour éviter tout spam cette adresse est filtrée, merci de me contacter directement sur l'adresse moi(a)MONSITE.COM"

En fait, cela ajoute certes une étape au simple mailto, mais on est surs de retrouver des personnes physiques en face et en l'ayant testé sur des adresses données à personne d'autre, je réalise un sans faute niveau SPAM et de bons retours en contact.

C'est de la bidouille, certes, mais pour moi cest efficace.

A très bientôt
C'est en effet une solution simple et efficace.

Suite à ce sujet, j'ai testé une autre méthode, simple elle aussi, et qui fonctionne également.

un lien sur chaque page vers une seule page contenant les emails. Le lien comporte
<a href="lien" rel="noindex nofollow">

Les adresses emails sont encodées en ASCII, et la page contenant les adresses emails contient les tags "no index no follow"

le robots.txt comporte également un disallow sur la page contenant les adresses emails.

Smiley cligne
Les robots-spameurs se fichent bien des robot.txt, des nofollow et des noindex.

Le coup de la réponse automatique est bien trouvé : ça énerve un peu l'utilisateur qui doit renvoyer une deuxième fois son mail, mais au moins on est sûr qu'il s'agit d'un être humain puisque les robots sont trop bêtes pour fournir une adresse d'expéditeur valide, et même, ils sont encore trop bêtes pour lire une réponse si toutefois.

LE javascript proposé est pas mal non plus mais les robots qui savent parser le HTML pourraient retrouver l'adresse.
QuentinC a écrit :
Les robots-spameurs se fichent bien des robot.txt, des nofollow et des noindex.


visiblement pas tant que ça, vu que je n'ai aucun spam Smiley cligne