Спам на электронной почте просто жутко надоел. Когда получаешь по 20-30 спам-писем в день – это конечно раздражает. И хочется не то, чтобы прекратить текущий спам, а хотя бы не допустить в будущем попадание своего email-адреса в спам-листы.
Я хочу как раз рассказать о защите от спама на электронной почте, а именно – о защите email-адреса от спаммерских роботов.
На эту тему написано уже тонны информации… Но все же я решил взяться за эту статью, дабы собрать максимально возможные способы защиты email-адреса от спамботов.
Принципы работы «мыльных» спаммеров
Все email-адреса содержат символ «@» (at). И большинство спамботов просто ищут по шаблону на веб-страницах любые комбинации, включающие буквы/цифры и этот символ, например, name@domain.com. Бывает, что они просто ищут знак «@» и копируют все символы по обе стороны от него, считая это за валидный email-адрес.
Защита email-адреса от спамботов
Существует множество программ и сервисов, назначение которых – защитить Ваш e-mail путем кодирования или создания сценария JavaScript.
Здесь же речь пойдет в основном о способах защиты, которые можно осуществить самостоятельно.
1. Замена символа «@» и точки
Самый простой способ не допустить захвата email-адреса – убрать из него символ «@» или заменить его на какой-то текст. Чтобы подстраховаться, можно и точку заменить буквами.
Вот несколько примеров использования данного метода:
name AT domain DOT com
name(at)domain.com
name_AT_domain_DOT_com
name()domain.com
name[]domain_DOT_com
Бывало, даже встречал такие необычные варианты использования этого метода:
name[sobaka]domain.com
name(собака)domain.com
name(гав)domain.com
name[на]domain.com
И даже что-то вроде:
name(умрите чертовы спаммеры)domain.com
Потом пользователю нужно будет просто поставить вместо указанных замен символ «@» и точку, чтобы получить валидный email-адрес.
2. Маскировка при помощи добавления специальных тегов
Маскировка заключается в добавлении определенных слов или фраз в Ваш email-адрес. Таким способом можно будет обмануть спаммерские роботы.
Вот несколько примеров:
name@domain.com.nospam
name@domain.com.removeme
name@REMOVE.domain.com
name@domain.com.UDALIMENIA
Таким образом, спамбот получает невалидный e-mail, а пользователю нужно будет просто удалить добавленные теги.
Для верности, можно явно указать пользователю о необходимости удаления тега. Например: «Мой электронный адрес: name@domain.com.nospam. Чтобы написать мне, удалите из адреса “nospam”».
3. Замена текста картинкой
Смысл данного способа простой – создаем рисунок, на котором будет написан e-mail, например, в jpg, gif или png формате.
Роботы и пауки не смогут прочитать текст на рисунке, а пользователю нужно будет просто вручную списать его.
Полезные сервисы:
Мылопикч
Почка
Gmail users
4. Кодирование «mailto:» и символа «@» в специальные HTML символы
Кодировка:
mailto: заменяем на mailto
@ заменяем на @
И закодированная ссылка будет иметь вид:
<a href = "mailtoname@domain.com" > закодированный e-mail</a>
Или же можно закодировать весь email-адрес или всю mailto: ссылку. Сделать это можно, например, при помощи «Anti-Spam Encoder».
Также подобное кодирование можно осуществить самостоятельно при помощи следующего PHP-скрипта:
<?
$email = "name@domain.com";
$url = "mailto: name@domain.com";
$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>";
?>
На выходе получим код зашифрованной ссылки.
5. Скрыть e-mail при помощи CSS
Можно написать email-адрес в перевернутом виде (name@domain.com будет написан как moc.niamod@eman). Для правильного отображения адреса на веб-страницах используются стили CSS.
Вот пример HTML кода с использованием CSS:
<style type="text/css"> .backwards {unicode-bidi:bidi-override; direction: rtl;} </style>
<span class="backwards">moc.niamod@eman</span>
Если робот скопирует Ваш e-mail, он получит его в перевернутом виде. Естественно, он будет не валидный. А пользователям он будет отображен в нормальном виде.
6. Скрываем e-mail при помощи JavaScript
Существует множество способов скрыть e-mail при помощи JavaScript. Рассмотрим некоторые из них. При использовании данных методов следует также прописывать теги noscript на случай, если у пользователя отключен javascript.
1) Основной скрипт отображения email-адреса
<script language=JavaScript>
<!--
document.write("name" + "@" + "domain.com");
//--> </script>
2) Основной скрипт отображения mailto: ссылки
<script language=JavaScript>
<!--
var user = "name";
var host = "domain.com";
var link = user + "@" + host;
document.write("<a hre" + "f=ma" + "ilto:" + user + "@" + host + ">" + link + "</a>");
//--> </script>
3) Использование JavaScript в самой ссылке
<a href="#" onclick="JavaScript:window.location='mailto:' + 'name' + '@' + 'domain' + '.com'">Мой email</a>
<a href="mailto:name[at]domain.com" onMouseOver="this.href=this.href.replace(/\[at\]/,'@');">Мой email</a>
<a href="mailto:die@spammers.die" onClick="window.location='ma'+ 'il' +'to:' + 'n' + 'am' + 'e'+ '@'+ 'dom'+'ain.com'">Мой email</a>
4) Внешний JavaScript файл
<script language="JavaScript" src="encoding-email.js"></script>
Во внешнем JavaScript файле encoding-email.js содержится код из примера 2).
7. Использование Flash
Нужно создать Flash-файл, например, email.swf, в котором будет свойство mailto:.
Пример кода Flash-файла:
on (release){ getURL ("mailto:" +recipient+ "?cc=" + cc + "&subject=" + subject + "&body=" +body) }
Подробнее об этом можете узнать на Adobe.com.
У пользователя должен быть установлен Macromedia Flash player.
8. Один из самых надежных способов защиты Вашего email-адреса
Смысл данного способа заключается в использовании специальных форм отправки сообщений. То есть у Вас на сайте должен быть раздел/страница, например, «Обратная связь», откуда пользователи могут написать Вам письмо.
Ваш e-mail на самой странице не показывается, а отправка письма происходит при помощи функции POST.
9. Самый надежный способ защиты Вашего email-адреса
Суть данного способа – просто не «светить» свой email-адрес. :) То есть Вы используете его только при переписке с проверенными людьми и в Сети его нигде не публикуете.
Но даже это не всегда помогает. Бывает, что email-адреса крадут. И не обязательно это может произойти у Вас. Существуют такие трояны, которые, проникая в компьютер пользователя, крадут базу всех его email-адресов и отсылают владельцу вируса.
Таким образом, Ваш e-mail может оказаться в спам-листе в результате кражи его из базы Вашего знакомого. И здесь уже нужно использовать спам-фильтры. Но это уже тема другого разговора.
Что ж. Я перечислил самые основные способы защиты email-адресов. Естественно, это не исчерпывающий список. Адреса можно скрыть при помощи кодирования JavaScript, кодирования в ASCII, при помощи Regular Expressions (regex) и другими способами. Но всех моментов я не стал касаться.
Хочу подчеркнуть, что использование отдельных способов не всегда может гарантировать стопроцентную защиту. Поэтому пробуйте совмещать различные методы. Так будет надежней.
No Spam, Make Love!