БлогNot. Ещё немного о защите адресов E-mail от ботов

Ещё немного о защите адресов E-mail от ботов

В этой статье я касался темы, но давал лишь свои собственные рекомендации, а методов защиты адреса E-mail можно придумать намного больше, чем там описано.

Перечислим основные из них, приводя везде в пример мой адрес ur.liam@srep (кстати, эта строка с адресом тоже защищена, в HTML-исходнике страницы её нету)

Яваскрипт: что-то вроде такого -

<script type="text/javascript">
<!--
 var email = "pers";
 var emailHost = "mail.ru";
 var title = email + "@" + emailHost;
 document.write("<a href=" + "mail" + "to:" + email + "@" + emailHost+ ">" + 
  title + "</a>");
//-->
</script>

или как в статье по ссылке выше.

Недостаток - ничего не выведется, если Javascript отключён (менее 1% пользователей, но всё же...)

Можно перегнать всё в Юникод... как Вам такая ссылочка?

<a href="mailto:&#112;&#101;&#114;&#115;&#064;&#109;&#097;&#105;&#108;&#046;&#114;&#117;">
&#112;&#101;&#114;&#115;&#064;&#109;&#097;&#105;&#108;&#046;&#114;&#117;</a>

Недостаток - современные боты уже умеют читать Юникод, а вот некоторые устаревшие браузеры - ещё нет.

Ещё проще перегнать в Юникод только "собаку", порой и этого достаточно.

<a href="mailto:pers&#064;mail.ru">pers&#064;mail.ru</a>

Понятно, что риск "обнаружения" ящика ботом в этом случае возрастает.

А может, просто добавить скрытый текст где-нибудь перед собакой?

pers<span style="display: none">635</span>@mail.ru

Простенько, мало обнаруживаемо ботом, но, увы, без ссылки, адрес почты выведется только текстом.

Если Вас устраивает адрес "только текстом", можно обойтись в коде и комментариями HTML:

pers<!-- >@. -->@<!-- >@. -->mail.ru

А зачем перегонять обязательно в Юникод, можно ведь и просто в 16-ричные числа?

<a href="mailto:%70%65%72%73%40%6d%61%69%6c%2e%72%75">
мой E-mail</a>

Недостаток - я лично был не рад видеть все эти %40 и %2E в статусной строке браузера.

Технология CSS тоже может кое-что дать для защиты "мыла" от жадных и вороватых спам-ботов:

<style>span.obfemail:after { content: "pers@mail.ru"; }</style>
<span class="obfemail">: </span>

Увы, это тоже "только текст", и не факт, что будет работать в Internet Explorer (верней, точно не будет).

Ещё один вариант CSS-защиты:

<style>span.codedirection { unicode-bidi:bidi-override; direction: rtl; }</style>
<span class="codedirection">ur.liam@srep</span>

А вот это уже кроссбраузерно, у меня в IE8, по крайней мере, сработало.

Ну хорошо, скажете Вы, а как мне всё это применить для своего "мыла" или быстро получить для него нужный код?

Есть и такой вариант, вот ссылка:

 http://www.tools4noobs.com/online_tools/obfuscate_email/

Ну а если знаете или придумали ещё какой способ - пишите :)

30.03.2011, 17:10 [11823 просмотра]


теги: javascript html css email браузеры спам ie

К этой статье пока нет комментариев, Ваш будет первым