Домашние Картинки разработка веб-сайтов в Челябинске
+7(904) 30-76-196info@homepictures.ru
/Полезное/Статьи для веб-мастера/Защита email от спамеров

Защита email от спамеров

Несколько способов защитить ваш email от спамеров.

Как известно, один из способов добычи адресов электронной почты спамерами – просмотр html страницы на предмет наличия определенной последовательности символов, включающих символ @ (непременный атрибут email). Для этого пишутся программые роботы, которые "бродят" по интернет-сайтам, форумам, персональным страницам и извлекают оттуда адреса для записи в спам-базу. Если адрес не защищен, то поток спама на ваш ящик обеспечен.

Есть несколько способов обмануть роботов. Все они основаны на сокрытии прямо или косвенно текстовой строки, содержащей email.

Самый простой способ – сделать графическое изображение адреса. Картинку через html код вставить в нужное место. Этот способ имеет несколько минусов. Во первых, пропадает возможность щелчком мышки по ссылке с адресом вызвать окно нового сообщения вашего мейлера. При режиме браузера с отключенными картинками ваш адрес электронной почты не увидят. Достоинств такой метод практически не имеет, кроме возможности вывести адрес любым шрифтом, какой есть у вас в наличии.

Практически самый надежный способ скрытия адреса электронной почты от роботов основан на JavaScript (или VBScript). Строка адреса формируется динамически после загрузки страницы с помощью встроенного в браузер языка сценариев. Разобрать такой скрипт роботом практически не реально. Вот пример скрипта, выводящий email ссылку на страницу:

<script language="JavaScript">
var login  = 'spammer';
var server = 'must.die';
var email  = login+'@'+server;
var url = 'mailto:'+email;
document.write('<a href="'+url+'">'+email+'</a>');
</script>

Вот что выведет данный код . Ссылка полностью рабочая, что нам и требуется. Этот способ имеет практически только один недостаток: при отключенном JavaScript ссылка не будет выведена. К счастью процент браузеров с отключенным выполнением скриптов ничтожно мал. В этом случае можно подстраховаться предыдущим вариантом с графическим представлением, завернув html код картинки в тег NOSCRIPT

...
...
</script>
<noscript><img src="URL_картинки"></noscript>

Другая возможность скрытия заключается в альтернативной записи текста, основыванная на понимании браузера представления символов в виде кодов &#ANSI_код_символа; (numeric character reference). Для генерации такого адреса можно использовать любой серверный язык программирования. Вот пример вывода ссылки на PHP:

<?
$email = 'spammer@must.die';
$url = 'mailto:spammer@must.die';
$safe_email=$safe_url='';
for($i=0; $i<strlen($email); $i++){
   $safe_email .= '&#'.ord($email{$i}).';';
}
for($i=0; $i<strlen($url); $i++){
   $safe_url .= '&#'.ord($url{$i}).';';
}
print "<a href='$safe_url'>$safe_email</a>";
?>

Данный скрипт выведет текст spammer@must.die, который, как мы видим, не отличается от обычной текстовой ссылки. Необходимо отметить главный минус такого подхода сокрытия адреса: он основан на несовершенности роботов спамеров и предполагает, что робот не столь смышленен, чтобы читать текст в альтернативном представлении. Есть еще один недостаток метода: более смышленные "хорошие" роботы (например поисковики) могут обработать текст страницы и выложить его на другом сайте и тогда он станет доступен для "плохих" роботов спамеров.

При желании можно комбинировать записи различными способами, развести код вывода в функции и использовать глобально для всего сайта, вызывая функции с необходимыми параметрами. Все остальное зависит от фантазии веб-мастера.