Все о почте





Защита адресов 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, но таких людей очень мало.



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

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




Форум

Google и Mail.ru подозревают в нарушении...
В структуре сообщили, что рекламодателем был "Рускредит", а распростра...
Автор: Последние новости
[email protected]:35
ФАС было возбуждено дело против Mail.ru ...
Сегодня стало известно, что Московским управлением Федеральной антимон...
Автор: Последние новости
[email protected]:50
ФАС открыла дело против Google и Mail.ru...
ФАС возбудила дело против Google и Mail.ru. Интернет-компании заподозр...
Автор: Последние новости
[email protected]:12
ФАС возбудила дело против Google и Mail....
В сообщении указывается, что решение о возбуждении дела было принято п...
Автор: Последние новости
[email protected]:43
Сбербанк и Mail.Ru Group запустили серви...
Сбербанк и Mail.Ru Group запустили новый сервис для упрощенной оплаты ...
Автор: Последние новости
[email protected]:22
Сбербанк и Mail.Ru Group запустили серви...
Сбербанк и Mail.Ru Group запустили новый сервис для упрощенной оплаты ...
Автор: Последние новости
[email protected]:06
Сбербанком и Mail.ru Group запущен серви...
Уточняется, что оплату можно произвести после процедуры авторизации по...
Автор: Последние новости
[email protected]:48
Сбербанком и Mail.ru Group запущен серви...
Оплата может быть произведена только после авторизованного входа*в*соц...
Автор: Последние новости
[email protected]:17
© 2006-2022 AboutMail.ru