Quelle est la meilleure façon de cacher un email pour éviter le SPAM
En 2006, ce gars s’est amusé à créer 9 boites mail différentes. Il les a ensuite rendu publiques sur une page de son site en appliquant sur chacune d’elle une méthode de brouillage allant du javascript au CSS. Il a veillé à ce que la page soit ensuite bien indexé par Google et il a laissé mijoter pendant 1 an et demi…
Au bout de tout ce temps, il a été voir ses boites mails et à constaté que sur la boite non-masquée (la boite mail témoin), il avait reçu 21 MB de spam, soit plus de 1800 emails pour du viagra et autre produits divers…
Si vous voulez plus de détails sur les méthodes employées, allez voir cette page et observez bien le code source.
Les 3 méthodes approuvées par cette étude qui ont ramené 0 spams sont donc :
L’inversement des lettres en CSS
<span><span class="tag"><</span><span class="tag-name">style</span><span> </span><span class="attribute">type</span><span>=</span><span class="attribute-value">"text/css"</span><span class="tag">></span><span> </span></span> <span>span.codedirection { unicode-bidi:bidi-override; direction: rtl; } </span> <span><span class="tag"></span><span class="tag-name">style</span><span class="tag">></span><span> </span></span> <span><span class="tag"><</span><span class="tag-name">p</span><span class="tag">></span><span class="tag"><</span><span class="tag-name">span</span><span> </span><span class="attribute">class</span><span>=</span><span class="attribute-value">"codedirection"</span><span class="tag">></span><span>moc.etalllit@7raboofnavlis</span><span class="tag"></span><span class="tag-name">span</span><span class="tag">></span><span class="tag"></span><span class="tag-name">p</span><span class="tag">></span><span> </span></span>
L’insertion d’un Span invisible dans l’email
<span><span class="tag"><</span><span class="tag-name">style</span><span> </span><span class="attribute">type</span><span>=</span><span class="attribute-value">"text/css"</span><span class="tag">></span><span> </span></span> <span>p span.displaynone { display:none; } </span> <span><span class="tag"></span><span class="tag-name">style</span><span class="tag">></span><span> </span></span> <span><span class="tag"><</span><span class="tag-name">p</span><span class="tag">></span><span>silvanfoobar8@</span><span class="tag"><</span><span class="tag-name">span</span><span> </span><span class="attribute">class</span><span>=</span><span class="attribute-value">"displaynone"</span><span class="tag">></span><span>null</span><span class="tag"></span><span class="tag-name">span</span><span class="tag">></span><span>tilllate.com</span><span class="tag"></span><span class="tag-name">p</span><span class="tag">></span></span>
Et pour finir, ma préférée, le codage de l’email en ROT13, qui a le mérite de laisser l’email cliquable
<span><span class="tag"><</span><span class="tag-name">script</span><span> </span><span class="attribute">type</span><span>=</span><span class="attribute-value">"text/javascript"</span><span class="tag">></span><span> </span></span> <span>document.write("<span class="tag"><</span><span class="tag-name">n</span><span> </span><span class="attribute">uers</span><span>="znvygb:[email protected]" </span><span class="attribute">ery</span><span>="absbyybj"</span><span class="tag">></span><span>" .replace(/[a-zA-Z]/g, function(c){return String.fromCharCode((c</span><span class="tag"><</span><span>="Z"?90:122)</span><span class="tag">></span><span>=(</span><span class="attribute">c</span><span class="attribute-value">c</span><span>=c .charCodeAt(0)+13)?c:c-26);})); </span></span> <span><span class="tag"></span><span class="tag-name">script</span><span class="tag">></span><span>silvanfoobar's Mail</span><span class="tag"></span><span class="tag-name">a</span><span class="tag">></span></span>
(les lignes 2, 3 et 4 sont une seule et même ligne. J’ai du faire des retours à la ligne pour que ça n’éclate pas le site)
Pour cette dernière, il faut bien sûr utiliser ce site ou la fonction PHP str_rot13 pour coder l’adresse avant d’utiliser javascript pour le decoder (comme ci-dessus)