Как скрыть электронную почту от спам ботов на сайте

Как защитить себя от сбора электронной почты спамерами при показе email на сайте? Спамеры обычно используют спам боты, которые собирают почтовые адреса.

Но какой метод обфускации является лучшим? В 2006 году автор создал страницу с девятью различными адресами почты. Каждый email был скрыт каким-то одним способом. Страница была проиндексирована Google, после чего прошло 1,5 года. Вот результаты:

На Email без защиты пришло 1800 спам писем общим размером 21 Мб.

Три самые безопасные способа

Смена направления текста с помощью CSS

<span class="codedirection">moc.etalllit@7raboofnavlis</span>
span.codedirection {
  unicode-bidi: bidi-override;
  direction: rtl;
}

Использование правила CSS display:none

<style type="text/css">
p span.displaynone { display:none; }
</style>
<p>silvanfoobar8@<span class="displaynone">null</span>tilllate.com</p>

Шифрование с помощью ROT13

Email шифруется с помощью алгоритма ROT13 на сервере (функция PHP: str_rot13), затем расшифровывается с помощью Javascript.

<?php
$email = str_rot13('silvanfoobar10@tilllate.com');
?>
<script type="text/javascript">
document.write("<n uers=\"znvygb:<?=$email;?>\" ery=\"absbyybj\"><?=$email;?></n>".replace(/[a-zA-Z]/g,
  function(c){
    return String.fromCharCode((c<="Z"?90:122)>=(c=c.charCodeAt(0)+13)?c:c-26);
  })
);
</script>

Оригинал статьи

Использоваение Javascript replace

<a href="mailto:coxntact@domainx.com"
   onmouseover="this.href=this.href.replace(/x/g,'');">link</a>

Ссылки

Печать/экспорт