Как защитить адрес электронной почты вашего сайта от спама?

Как защитить адрес электронной почты вашего сайта от спама Безопасность

Публикация адреса электронной почты является обязательной для всех операторов веб-сайтов, но это сопряжено с риском стать жертвой спам-атак. Как можно ограничить нежелательный доступ спам-ботов к адресам электронной почты, не нарушая требования к информации в соответствии с GDPR ? Мы представляем самые популярные методы и объясняем их преимущества и недостатки.

Сбор электронной почты: как спам-боты ловят добычу

Сбор электронной почты — это автоматизированный сбор адресов электронной почты для недобросовестных рекламных целей, фишинговых атак или распространения вредоносных программ. Для этой цели используются специализированные программы, так называемые сборщики электронной почты, поисковые веб-сайты, списки рассылки, форумы или платформы социальных сетей для адресов электронной почты. Характерный синтаксис, которому соответствуют все адреса электронной почты, например знак @, дает подсказки к желаемой контактной информации. Более изощренные спам-боты также включают в поиск распространенные альтернативные варианты написания, такие как [at], [AT], (at) или (AT).

Ссылка электронной почты в формате HTML, основанная на схеме, является еще более «контрольной», чем знак @ mailto:user@domain.de. Это позволяет посетителям веб-сайта открывать предпочтительную программу электронной почты одним щелчком мыши. Поэтому операторам веб-сайтов настоятельно рекомендуется отказаться от классических шаблонов при предоставлении электронных вариантов контакта.

Классическое представление адреса электронной почты без защиты

Чтобы иметь возможность оптимально защитить адрес электронной почты от автоматического чтения сборщиками электронной почты, вы должны понимать, как он обычно интегрируется в веб-сайт. Простое безбарьерное представление электронного контактного адреса можно вставить на любую HTML-страницу с помощью следующего примера кода:

<p>Bei Fragen und Anregungen schreiben Sie eine E-Mail an: 
<a href="mailto:user@domain.de">user@domain.de</a>.
</p>

С точки зрения пользователя это идеальное представление адреса электронной почты в Интернете. Чтобы сохранить удобство использования этой формы представления, наиболее популярные методы отображения адреса электронной почты в защищенном виде направлены на то, чтобы сделать его неузнаваемым в исходном тексте без изменения представления в браузере. Кроме того, есть возможность отделить адрес электронной почты от фактического веб-сайта и перенаправить его на ссылку с переадресациейmailto на стороне сервера.

Способ 1: CAPTCHAs

CAPTCHAs — это способ защитить адрес электронной почты веб-сайта от спама. Зашифрованные адреса электронной почты отображаются в виде обычного текста только в том случае, если пользователи подтвердили, что они люди. Эти экзамены могут включать такие задачи, как ввод комбинации букв или цифр. Также возможны короткие арифметические задачи, комбинированные упражнения или головоломки.

Читайте также:  IDS против IPS: каковы различия и сходства между системами безопасности?

CAPTCHAs обеспечивает сравнительно высокий уровень защиты от спама, так как в этом случае адреса электронной почты не отображаются вообще или отображаются только в зашифрованном виде в исходном коде. Благодаря обширным возможностям дизайна CAPTCHAs теперь также хорошо вписываются в дизайн веб-сайта. Однако дополнительные усилия, необходимые для доступа к адресу электронной почты, отрицательно сказываются на удобстве использования веб-сайта и противодействуют требованию беспрепятственного доступа к важной контактной информации.

Способ 2: Замена адреса электронной почты

Стратегии защиты, основанные на подмене, удаляют весь адрес электронной почты из исходного кода и заменяют его либо графическим представлением, либо ссылкой перенаправления на ссылку mailto.

Включить адрес электронной почты в виде изображения

Если адрес электронной почты интегрирован как графическое изображение, оно остается разборчивым для человеческого глаза, но текст как графическое изображение трудно распознать сборщикам электронной почты. Таким образом, включив соответствующую контактную информацию в графическое изображение, вы сможете сравнительно хорошо защитить адрес электронной почты на своем веб-сайте от спама. Например, соответствующий HTML-код выглядит так:

<img src="https://www.ionos.de/digitalguide/Pfad/grafikdatei.png" with="120" height="20" alt="Bei Fragen und Anregungen schreiben Sie eine E-Mail an: user@domain.de">

Это представление электронной почты доступно для чтения большинству людей. Однако текст нельзя ни скопировать, ни mailtoсвязать ссылкой. Для большинства пользователей обязательный ввод адреса как минимум утомителен. Слабовидящие люди могут даже получить адрес, просто предоставив соответствующую информацию в атрибуте alt. Их можно прочитать с помощью программ чтения с экрана, но они также доступны для спам-ботов. По этой причине метод сам по себе не рекомендуется в качестве превентивной меры против спама.

Есть несколько спам-ботов, которые могут проверять элементы изображения на наличие текстовых элементов, используя [OCR (оптическое распознавание символов)] (https://www.ionos.de/digitalguide/online-marketing/web-analyse/ocr-software/), но все же создают их это абсолютное меньшинство.

Ссылка на электронную почту в формате HTML через перенаправление

Вы также можете защитить адрес электронной почты, отделив его от веб-сайта. Обычно для этого используется скрипт, который mailtoперенаправляет на ссылку после перехода по ссылке. Это открывает программу электронной почты пользователя и выводит туда адрес. Для спам-ботов, сканирующих исходный код сайта, такая ссылка выглядит как ссылка на файл. Этот механизм защиты может быть реализован, например, в виде ссылки на PHP-файл, содержащий редирект:

<p>Bei Fragen und Anregungen schreiben Sie uns eine 
<a href="https://www.ionos.de/digitalguide/redirect-mailto.php">E-Mail</a>.
</p>

Содержимое файла redirect-mailto.phpпредставляет собой скрипт, который mailtoперенаправляет на реальную ссылку :

<?php
header("Location: mailto:user@domain.de"); 
?>

Недостатком этого решения для предотвращения спама является то, что пользователям нужен обработчик для mailto:, чтобы добраться до адреса электронной почты. На практике это обычно программа электронной почты, такая как Outlook или Thunderbird. Тем не менее, веб-почтовые программы также могут быть введены в качестве обработчиков в более новых браузерах.

Способ 3: Маскировка адреса электронной почты

Если адрес электронной почты не должен быть полностью заменен изображением или ссылкой на адрес электронной почты, существуют альтернативные стратегии, позволяющие зашифровать или замаскировать адрес электронной почты.

Читайте также:  Шифрование PGP: как защитить содержимое ваших электронных писем?

Маскировка по кодировке символов

Общие кодировки символов, используемые при экранировании адресов электронной почты в исходном коде, основаны на объектах HTML и HEX-коде. Этот тип кодирования идеально подходит для адресов электронной почты, поскольку соответствующие ссылочные символы автоматически переводятся в браузере.

Если характерные символы адреса электронной почты должны user@domain.deбыть замаскированы с помощью объектов HTML, они сначала преобразуются в альтернативную запись:

@ = @ . = . (Point)

При вставке в адрес электронной почты в исходном коде получается следующее представление:

<p>Bei Fragen und Anregungen schreiben Sie eine E-Mail an: 
<a href="mailto:user&commat;domain&period;de">user&commat;domain&period;de</a>
</p>

Если вы хотите зашифровать весь адрес электронной почты, вы можете использовать кодировку HEX. Номер символа Unicode используется и отмечается в следующей базовой схеме:

&#номер символа;

Обычно используется шестнадцатеричный номер рассматриваемого символа, отмеченный маленьким «x». Таким образом, буква «м» может быть записана как «м» или десятичная «м». Это приводит к следующему представлению адреса электронной почты, user@domain.deвключая mailtoссылку:

<p>Bei Fragen und Anregungen schreiben Sie uns eine
<a href="&#x6d;&#x61;&#x69;&#x6c;&#x74;&#x6f;&#x3a;&#x75;&#x73;&#x65;&#x72;&#x40;&#x64;&#x6f;&#x6d;&#x61;&#x69;&#x6e;&#x2e;&#x64;&#x65;">E-Mail</a>.
</p>

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

Маскировка по дополнению

В принципе, можно скрыть адрес электронной почты от спам-ботов, разбив его дополнительными символами. В лучшем случае программы тогда перестают воспринимать адрес целиком, что препятствует автоматическому считыванию. Комментарии HTML, например, предлагают простой способ сделать это.

<!-- Kommentar -->

Если такие комментарии включены в адрес электронной почты, спам-боты, сканирующие сайт, обнаружат следующий код:

<p>Für Fragen und Anregungen schreiben Sie eine E-Mail an: 
u<!-- Kommentar -->ser@domai<!-- kommentar -->n.de.
</p>

В то время как пользователи-люди видят правильный адрес электронной почты в веб-браузере, спам-бот, вероятно, spanтакже прочитает скрытый текст в элементе. Недостатком маскирования путем добавления является то, что адрес электронной почты не может быть связан с HTML-ссылкой электронной почты с помощью этого метода. В этом случае пользователи должны вручную скопировать адрес в свою программу электронной почты.

Читайте также:  Как защитить свой сайт от вредоносных программ?

Способ 4: Шифрование адреса электронной почты

ROT13 — это распространенный метод шифрования электронной почты, который можно реализовать всего несколькими строками кода JavaScript.

<script type="text/javascript">
function decode(a) {
  return a.replace(/[a-zA-Z]/g, function(c){
    return String.fromCharCode((c <= "Z" ? 90 : 122) >= (c = c.charCodeAt(0) + 13) ? c : c - 26);
  })
}; 
function openMailer(element) {
var y = decode("znvygb:orahgmre@qbznva.qr");
element.setAttribute("href", y);
element.setAttribute("onclick", "");
element.firstChild.nodeValue = "E-Mail-Software öffnet sich";
};
</script>
<a id="email" href="https://www.ionos.de/digitalguide/ " onclick='openMailer(this);'>E-Mail: bitte klicken</a>

Пример кода показывает в строке 9 зашифрованную версию адреса электронной почты, user@domain.deвключая mailtoтекстовую строку ( znvygb: orahgmre@qbznva.qr ), а в строках 2–7 — способ расшифровки этого кода. Функция в строках с 8 по 13 открывает предпочитаемую пользователем программу электронной почты и записывает расшифрованный адрес в строку получателя. Сценарий запускается при нажатии на ссылку с якорным текстом «Электронная почта: нажмите, пожалуйста» (строки 15–16). После нажатия появляется текст «Открывается программа электронной почты» (строка 12).

Оцените статью
Блог о программировании
Добавить комментарий