Защита адреса E-mail на сайте от спам-ботов

Или свободно размещаем активную ссылку на контактную почту на своём сайте

Защита адреса E-mail на сайте от спам-ботов

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

Скрипт этот я писал не сам, а когда-то благополучно нашёл в просторах интернета и адаптировал под себя.

Защищаем активную ссылку вида mailto

С помощью JavaScript

Поможет тебе в этом простой скрипт, который следует поместить в отдельный файл с расширением *.js и подключить в месте, в котором ты хочешь вывести адрес электронной почты.

var acc = 'me';
var srv = 'okatiev.ru';
var mail = acc+'@'+srv;
var link = 'mailto:'+mail;
document.write('<a href="'+link+'">'+mail+'</a>');

Замени значение переменной acc и srv на свой адрес электронной почты, например в acc подставь ivan_ivanov, а в srv — mail.ru. В итоге скрипт склеит эти переменные и «соберёт» адрес твоей электронной почты воедино — ivan_ivanov@mail.ru.

Скачать diespam.js

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

<script src="https://okatiev.ru/themes/leaks/js/diespam.js" type="text/javascript"></script>

Путь к скрипту пропиши свой :)

Результат работы скрипта на странице:

Защищаем адрес электронной почты в тексте

С помощью CSS

Иногда нужно просто указать адрес электронной почты в качестве текстовой строки, без использования адреса как ссылки. В таком случае на помощь к нам придёт CSS:

.reverse {unicode-bidi: bidi-override;direction: rtl;}

Добавь этот класс в основную таблицу стилей своего сайта. Затем, тебе необходимо указать адрес электронной почты там, где ты хочешь его вывести в качестве обыкновенного текста. Указывать адрес электронной почты необходимо не обычно, слева направо, а справа налево с применением класса .reverse например:

<span class="reverse">ur.veitako@em</span>

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

ur.veitako@em

а в исходном коде так, как показано выше в блоке с кодом — задом наперед.

Защита адреса E-mail на сайте от спам-ботов
В таком виде спам-боты не смогут верно интерпретировать E-mail и добавить его к себе в базу рассылок.

Вывод

Защита адреса E-mail на сайте от спам-ботов

У нас получился простой скрипт, который предотвратит попадание нашего E-mail адреса в «лапы» спам-ботов. Я на блоге успешно использую именно этот скрипт, а также маленькую хитрость на CSS там, где не нужно формировать ссылку вида mailto с адреса электронной почты, например в комментариях.

Надеюсь, что смог помочь тебе немного улучшить твой сайт этой маленькой статьёй! Если возникли вопросы — пиши их в комментариях ниже! До связи и удачи!

Плюсануть
Поделиться
Отправить
Запинить
Понравился этот пост? Поделись им в соцсети!
Популярное
5 комментариев
Алекс
Алекс

11 декабря 2017, 15:52

У меня шаблон где есть HTML-код текста для страницы «СВЯЗАТЬСЯ С НАМИ» там и прописан e-mail. Он выходит на всех страницах, в «подвале» сайта и на странице связаться с нами (contact-us). В моём случае как правильно и на каких страницах добавить скрипт?

Александр Окатьев

В файлах шаблона (модуль «Наши контакты» и страница с обратной связью), Вам нужно заменить переменную, которая выводит почту из БД, на строку со скриптом из статьи. Для страницы «Обратная связь» — это файл contact.tpl, который находится по адресу:

/catalog/view/theme/ваш_шаблон/template/information/

А модуль, который выводит контакты внизу сайта, скорее всего располагается в футере :

/catalog/view/theme/ваш_шаблон/template/common/

в файле footer.tpl, если речь идёт об Opencart 2.x.

Алекс
Алекс

12 декабря 2017, 10:45

В файле footer.tpl заменил строки. Как понять работает ли скрипт. Провёл анализ главной страницы сайта, который показал наличие незащищённого номера электронной почты. Если навести мышкой на выводимый адрес электронной почты и посмотреть код то вот такая картина

<script src=»https://мой сайт.ru/catalog/view/javascript/diespam.js» type=«text/javascript«></script>
<a href=«mailto:номер@мой сайт.ru»>номер@мой сайт.ru</a>

должны ли остаться строки где указывается адрес почты?

Александр Окатьев

Скрипт обрабатывается Вашим браузером и формирует «человеческую» ссылку с E-mail, нажав на которую, Вы можете написать письмо. Спам-боты эту ссылку не видят, так как JavaScript они не понимают. Они видят только подключение скрипта и всё, а в файле скрипта нет адреса электронной почты в привычном виде, он там разбит на части, а в браузере скрипт «склеивает» его.

Иными словами, та ссылка, которую Вы заменили в footer.tpl успешно работает.

Алекс
Алекс

12 декабря 2017, 11:57

Отлично, всё получилось и в «подвале сайта» и на страничке «Обратная связь» после вставки скрипта адрес электронной почты подгружается из файла. Теперь посмотрим на кол-во приходящего спама. Очень надеюсь что его кол-во уменьшиться. Спасибо Александр. Идём дальше в тему защиты контента от копирования))

Александр Окатьев

Алекс, рад, что у Вас всё получилось! Обращайтесь!

Алекс
Алекс

12 декабря 2017, 16:16

Вариант с CSS наиболее безконфликтно сработал в Opencart v. 2.1.0.2.

Алекс
Алекс

12 декабря 2017, 16:18

Для правильного и быстрого перевода текста задом наперёд существует соответствующий сервис в сети интернет.

Ваш комментарий
адрес не будет опубликован
HTML-код не интерпретируется

Ctrl + Enter