216 votes

Méthode efficace pour cacher les e-mails des robots spammeurs

Sur ma page d'accueil, j'utilise cette méthode pour cacher mon adresse électronique aux robots de spam :

<a href="admin [at] example.com"
   rel="nofollow"
   onclick="this.href='mailto:' + 'admin' + '@' + 'example.com'">Contact me</a>

Qu'en pensez-vous ? Est-elle efficace ? Quelles autres méthodes connaissez-vous ou utilisez-vous ?

0 votes

Soit il s'agit d'un doublon de stackoverflow.com/questions/163628/ ou que l'autre n'est pas valide parce qu'il s'agit d'une longue liste non communautaire wiki.

5 votes

Celui-ci a plus de votes positifs, de réponses et de vues. Elle ne devrait pas être fermée en faveur d'une autre ayant moins de votes, de réponses et de vues.

0 votes

Je comprends votre logique, mais est-ce un consensus de la communauté (par exemple, la question Meta) ?

98voto

Fuhrmanator Points 1157

C'est la méthode que j'ai utilisée, avec un include côté serveur, par ex. <!--#include file="emailObfuscator.include" -->emailObfuscator.include contient les éléments suivants :

<!-- // http://lists.evolt.org/archive/Week-of-Mon-20040202/154813.html -->
<script type="text/javascript">
    function gen_mail_to_link(lhs,rhs,subject) {
        document.write("<a href=\"mailto");
        document.write(":" + lhs + "@");
        document.write(rhs + "?subject=" + subject + "\">" + lhs + "@" + rhs + "<\/a>");
    }
</script>

Pour inclure une adresse, j'utilise JavaScript :

<script type="text/javascript"> 
    gen_mail_to_link('john.doe','example.com','Feedback about your site...');
</script>
<noscript>
  <em>Email address protected by JavaScript. Activate JavaScript to see the email.</em>
</noscript>

Comme je reçois mes e-mails via Gmail depuis 2005, le spam n'est pratiquement pas un problème. Je ne peux donc pas parler de l'efficacité de cette méthode. Vous pouvez lire cette étude (bien qu'il soit vieux) qui a produit ce graphique :

enter image description here

0 votes

Pourquoi avez-vous besoin de l'inclusion côté serveur de emailObfuscator.include ? Ne serait-ce pas la même chose que de l'écrire en .html ? (il ne s'agit peut-être que d'un exemple). De même, pourquoi utilisez-vous les commentaires html ? <!-- --> à l'intérieur de script ? Et enfin, pourquoi l'un de vos <script> est en minuscules alors que les autres sont en majuscules. <SCRIPT> ? Ces méthodes permettent-elles de confondre les robots ou autre chose ?

0 votes

@Templar Le SSI n'est pas nécessaire, et il ne perturbe pas les robots pour autant que je sache. Il rend (a rendu) mon site modulaire (je n'utilise plus vraiment cette méthode). Le commentaire citait la source de l'endroit où j'ai trouvé le hack (maintenant un lien brisé). Le changement de cas est juste un coup de chance. Si cela perturbe les robots, tant mieux, mais je doute que cela ait un quelconque effet.

4 votes

Une étude plus récente et plus complète qui explore la même idée : grall.name/posts/1/antiSpam-emailAddressObfuscation.html

88voto

Miau Points 3660

Jetez un coup d'œil à de cette façon assez intelligente et utilisant du css.

CSS

span.reverse {
  unicode-bidi: bidi-override;
  direction: rtl;
}

HTML

<span class="reverse">moc.rehtrebttam@retsambew</span>

Le CSS ci-dessus annulera alors le sens de lecture et présentera le texte à l'utilisateur dans le bon ordre.

J'espère que cela vous aidera

Cheers

58 votes

C'est sûrement drôle. Mais malheureusement, ce n'est pas cliquable et ne fonctionnera pas pour le copier/coller, tout en négligeant tout navigateur non-CSS comme les lecteurs braille.

0 votes

Mhh sympa, mais une fois que les gens qui écrivent des crawlers le voient, ça devient inutile.

6 votes

Il est tout aussi facile de faire correspondre une adresse électronique inversée avec un RegEx que de la faire correspondre sans inversion. Le spamming est un business de plusieurs milliards de dollars et les spammeurs n'utilisent même pas leurs propres cycles CPU pour gratter les écrans. En fait, ils ont déjà lu cette conversation et ont adapté leurs méthodes en conséquence. Tout ce qui est lisible par un ordinateur sera lisible par les robots. Qu'il soit exécuté par CSS ou JavaScript.

52voto

tvanfosson Points 268301

J'ai un point de vue complètement différent sur la question. J'utilise MailHide pour ça.

MailHide est un système de Google selon lequel l'utilisateur doit passer un test reCAPTCHA pour que l'e-mail lui soit ensuite révélé.

15 votes

Bien que ce lien puisse répondre à la question, il est préférable d'inclure les parties essentielles de la réponse ici et de fournir le lien pour référence. Les réponses ne comportant qu'un lien peuvent devenir invalides si la page liée change.

5 votes

Bien que je sois généralement d'accord avec ce sentiment, dans ce cas, la réponse consiste à utiliser un outil spécifique. Si le lien disparaît, je supprimerai la réponse.

0 votes

Merci - C'est génial. Je suis en train d'écrire quelque chose comme ça (reveal est le lien) : Envoyez-moi un courriel : reveal

16voto

rmeador Points 15107

Je pense que la seule méthode infaillible que vous pouvez avoir est de créer une page "Contactez-moi" qui est un formulaire qui se soumet à un script qui envoie à votre adresse e-mail. De cette façon, votre adresse n'est jamais exposée au public. Cela peut être indésirable pour une raison quelconque, mais je pense que c'est une assez bonne solution. Je suis souvent irrité lorsque je suis obligé de copier/coller l'adresse électronique d'une personne depuis son site vers mon client de messagerie pour lui envoyer un message ; je préférerais le faire directement via un formulaire sur son site. De plus, cette approche vous permet de recevoir des commentaires anonymes, etc. Veillez simplement à protéger votre formulaire à l'aide d'un système anti-bot, tel qu'un captcha. Il y en a beaucoup qui sont discutés ici sur SO.

6 votes

Le seul problème est que vous n'avez pas de copie du message que vous avez envoyé, à moins que vous ne preniez le temps de le copier et de le coller ailleurs. Personnellement, le copier-coller ne me dérange pas, mais chacun y trouve son compte.

6 votes

En ce qui concerne l'absence de copie pour l'expéditeur : pour de nombreux types de formulaires sur le web, j'aime avoir la possibilité de recevoir une copie moi-même. Cependant, cette option permet souvent d'abuser de l'envoi anonyme de messages à n'importe qui...

12 votes

Cela peut CACHER votre adresse e-mail, mais cela n'arrêtera pas du tout le spam, à moins que vous ne sécurisiez votre formulaire avec une image de validation captcha script.

15voto

Galwegian Points 29966

Voir Protéger les adresses électroniques des robots sur une page web ?

J'aime la façon dont Facebook et d'autres rendent une image de votre adresse électronique.

J'ai également utilisé L'Enkoder dans le passé - je l'ai trouvé très bon pour être honnête !

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X