Страница 3 из 4
Генерация email-адреса с помощью JavaScript
Это самый лучший метод (я сам им пользуюсь :-)). Спам-роботы не могут эмулировоть работу JavaScript, поэтому расшифровать вызовы к функциям JavaScript им не по зубам. На JavaScript можно написать сколь угодно сложный код, но для генерации “безопасной” ссылки достаточно написать несколько простых функций. E-mail состоит из нескольких частей:
pupkin – имя пользователя
@ – без комментариев
mail.ru – имя сервера
Вполне логично передать эти части (исключая @) в функцию, генерирующую email-адрес.
Пример 1.
Скопируем этот код в блокнот, сохраним в файл “email-1.html” и запустив его на выполнение. В окне браузера будет напечатан email-адрес, но пока не в виде ссылки. Этот код иллюстрирует простейшую функцию генерации email-адреса.
Простота кода в примере 1 является недостатком, так как вызов функции email("pupkin”,”mail.ru") очень легко преобразовать в email-адрес. От этого недостатка легко избавиться – нужно всего лишь как-то закодировать имя сервера.
Пример 2.
Создадим файл “email-2.html”:
В примере 2 все серверы занесены в массив. Например, сервер mail.ru имеет индекс 0, yandex.ru – индекс 2. Это достаточно удобно, так как на сайте может быть много email-алресов, на разных почтовых серверах. Вызов функции email("pupkin”,0) очень короткий и, кроме имени функции “email”, больше ничего не указывает на генерацию адреса. Имя же функции можно изменить, например, "abrakadabra" :-).
Можно придумать другой способ кодирования имени сервера. Он достаточно наглядный и не требует запоминания индексов.
Пример 3.
Файл “email-3.html”:
В этом примере имя сервера кодируется одной или несколькими буквами.
Итак, функция генерации email-адреса есть, осталось написать функцию, генерирующую ссылку mailto:Этот e-mail защищен от спам-ботов. Для его просмотра в вашем браузере должна быть включена поддержка Java-script
Пример 4.
Файл “email-4.html”:
Это и есть то, что нам нужно – работающий скрипт, маскирующий emal.
Функция email (login, sc) – генерирует email по логину и индексу сервера;
функция mylo (login, sc) – пишет этот email на Web-страницу;
функция namylo (login, sc, sub) – генерирует гиперссылку вида mailto:Этот e-mail защищен от спам-ботов. Для его просмотра в вашем браузере должна быть включена поддержка Java-script
.
Вызов этих функций из HTML-кода осуществляется следующим образом:
<a href="javascript:namylo('pupkin',0,'Tema_Pupkin');"><script>mylo('pupkin',0);</script></a>
или
<a href="javascript:namylo('pupkin',0,'Tema_Pupkin');">Вася Пупкин</a>
Заметим, что в функции namylo (login, sc, sub) имеется переменная sub. В неё записывается тема письма, если она нужна.
namylo('pupkin',0,'Тема сообщения')
Если тема не нужна , то пишем две одинарные кавычки рядом (т.е. пустая тема):
namylo('pupkin',0,'') – нет темы
Как правило, сайт состоит из нескольких страниц и скрипт включать в каждую страничку неэкономично. Гораздо выгоднее записать скрипт в отдельный файл, назовём его “mylo.js”:
Тогда Web-страница будет выглядеть таким образом:
Пример 5.
Файл “email-5.html”:
В каждую страничку сайта не забывайте включить строчку:
<script language="JavaScript" src="mylo.js"></script>
это при условии что скрипт и HTML-страница лежат в одном каталоге.
Если файл “mylo.js” лежит в корневой директории сайта, ссылка должна выглядеть так:
<script language="JavaScript" src="/mylo.js"></script>
а если в директории script, то так:
<script language="JavaScript" src="/script/mylo.js"></script>
Маскировка email-адресов с помощью JavaScript – это самый лучший вариант, так как язык JavaScript сейчас поддерживается всеми браузерами, а дешифровка адреса происходит на компьютере пользователя. Этот вариант не будет работать только у тех пользователей, которые отключили в своих браузерах JavaScript, но таких людей очень мало.
|