Ещё немного о защите адресов 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:pers@mail.ru"> pers@mail.ru</a>
Недостаток - современные боты уже умеют читать Юникод, а вот некоторые устаревшие браузеры - ещё нет.
Ещё проще перегнать в Юникод только "собаку", порой и этого достаточно.
<a href="mailto:pers@mail.ru">pers@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 [11891 просмотр]