Защита адресов e-mail на Web-страницах от спам-роботов

Автор Владимир Бакланов   
03.11.2006 г.
Оглавление
1. Защита адресов e-mail на Web-страницах от спам-роботов
2. Использование кодов символов Unicode
3. Генерация email-адреса с помощью JavaScript
4. Реконструкция email ссылки на сервере (PHP, Perl и др.)

Генерация 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, но таких людей очень мало.



 
« Как уберечься от спама?

Какой формат писем вы предпочитаете?




Форум

Через Gmail за неделю позвонили 10 млн р...
Еще одни говорят, что было бы неплохо наладить взаимодействие со Skype...
Автор: Последние новости
03.09.2010@14:38
Mail.ru будет учить бизнесменов пользова...
Основной целью мероприятия станет демонстрация возможностей IT-техноло...
Автор: Последние новости
02.09.2010@13:33
"Ведомости": Mail.Ru в тестово...
На интернет-портале Mail.ru со вчерашнего дня работает поиск от крупне...
Автор: Последние новости
02.09.2010@10:18
Gmail научился определять важность входя...
Компания Google запускает новую технологию в почтовой службе Gmail, ко...
Автор: Последние новости
01.09.2010@20:46
Интеллектуальный сортировщик почты Gmail...
Испытания показали, что в течение календарного года пользователь сэкон...
Автор: Последние новости
01.09.2010@08:11
Gmail научился показывать сообщения особ...
Priority Mail представляет собой папку для входящих сообщений, куда бу...
Автор: Последние новости
31.08.2010@19:25
Gmail научилась понимать, какие письма в...
В ближайшие дни пользователи почты Gmail смогут воспользоваться новой ...
Автор: Последние новости
31.08.2010@18:40
В Gmail появилась функция интеллектуальн...
Компания Google объявила о запуске экспериментальной функции Priority ...
Автор: Последние новости
31.08.2010@14:48
© 2006-2008 AboutMail.ru
Разработка сайта — "Позитик"
Итальянская мебель