активное фото
60 000+ клиентов уже выбрали Макхост

Как защитить сайт и форму обратной связи от спама

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

Как защитить сайт и форму обратной связи от спама.

Защита от спама с помощью капчи

Капча (captcha) — инструмент, с помощью которого можно определить, кем является пользователь, отправляющий на сервер заполненную форму обратной связи (или другое сообщение), — человеком или искусственным интеллектом. В основу проверки заложен тест Тьюринга. Люди и спам-боты выполняют различные задания: выбирают из подборки изображений картинки с определенным предметом (светофором, пожарным гидрантом), решают математические примеры, собирают пазлы и так далее. Тест составлен таким образом, чтобы человек и спам-программа справлялись с ним с разным успехом. Живой пользователь должен без труда решить задачу в отличие от искусственного интеллекта.

Защита от спама с помощью капчи.

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

reCAPTCHA

Это бесплатный сервис, который защищает сайт от спама, используя передовые методы анализа, чтобы отличить людей от ботов. С 2009 года reCAPTCHA принадлежит компании Google. На текущий момент существует две популярные версии этой капчи — v2 и v3.

Сравнение версий:

reCAPTCHA v2

reCAPTCHA v3

Проверяет запросы с помощью заданий.

Выполняет проверку с учетом оценок пользователя на веб-сайте.

Пример: при отправке формы попросит пользователя поставить флажок возле надписи «Я не робот».

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

Особенности: некоторые задания могут оказаться слишком сложными и негативно отразиться на конверсии сайта.

Особенности: Google скрывает принципы работы алгоритмов, связанных с reCAPTCHA v3, поэтому сложно сказать, насколько точно будет поставлена оценка в определенных моментах.

Прежде чем установить reCAPTCHA на сайт, необходимо зарегистрировать домен на официальном сайте. На странице нужно заполнить ярлык (понятное название), тип капчи (v2 или v3), выбрать домены (сайты, где будет установлена капча).

Регистрация сайта для рекапчи.

Далее вы получите два ключа:

  1. Ключ сайта — используйте этот ключ в HTML-коде, который ваш сайт передает на устройства пользователей.
  2. Секретный ключ — используйте этот ключ для обмена данными между сайтом и сервисом reCAPTCHA.

Они понадобятся для дальнейшей настройки.

Ключи recaptcha.

Установка на сайт «reCAPTCHA v2»

Чтобы автоматически отображать виджет reCAPTCHA v2 на сайте, необходимо включить необходимый JavaScript и «g-recaptcha» тег. Тег «g-recaptcha» представляет собой элемент DIV с именем класса «g-recaptcha» и ключом вашего сайта в «data-sitekey» атрибуте:

<html>
  <head>
    <title>reCAPTCHA demo: Simple page</title>
    <script src="https://www.google.com/recaptcha/api.js" async defer></script>
  </head>
  <body>
    <form action="?" method="POST">
      <div class="g-recaptcha" data-sitekey="your_site_key"></div>
      <br/>
      <input type="submit" value="Submit">
    </form>
  </body>
</html>

Обратите внимание, скрипт должен быть загружен по протоколу HTTPS и может быть включен из любой точки страницы без ограничений.

Установка на сайт «reCAPTCHA v3»

Чтобы автоматически привязывать вызов reCAPTCHA v3 к кнопке, выполните последовательность действий:

  1. Загрузите API JavaScript.
    <script src="https://www.google.com/recaptcha/api.js"></script>
                    
  2. Добавьте функцию обратного вызова для обработки токена.
    <script>
       function onSubmit(token) {
         document.getElementById("demo-form").submit();
       }
     </script>
    
    
  3. Добавьте атрибуты к вашей html-кнопке.
    <button class="g-recaptcha" 
            data-sitekey="reCAPTCHA_site_key" 
            data-callback='onSubmit' 
            data-action='submit'>Submit</button>
    

hCaptcha

Еще один сервис по борьбе со спамом — hCaptcha. К преимуществам hCaptcha относят то, что у сервиса есть бесплатная подписка, а также он собирает минимум необходимой информации о пользователях. Это отличная альтернатива reCAPTCHA. Чтобы установить hCaptcha на своем проекте, необходимо зарегистрироваться на официальном сайте. После регистрации вы получите уже знакомые:

  1. Sitekey — для уникальной идентификации ваших сайтов.
  2. Secret — этот ключ используется вашим сервером для проверки пароля hCaptcha, который возвращается, когда пользователь успешно вводит капчу.
hCaptcha.

Как установить hCaptcha на сайт?

  1. Для сайта на WordPress используйте плагин «hCaptcha for WordPress».
  2. Для интеграции с PHP используйте эту инструкцию.
  3. Для Android используйте эту инструкцию.
  4. Другие методы интеграции описаны здесь.

Как установить капчу, если сайт работает на CMS

Самый простой способ установить капчу, если сайт работает на CMS — с помощью плагинов. Покажем, как это сделать на примере WordPress. Перейдите в раздел «Плагины» > «Добавить новый». В поиске введите слово «recaptcha». Популярные плагины для установки капчи на WordPress:

  • Advanced Google reCAPTCHA;
  • Simple Google reCAPTCHA;
  • ReCaptcha v2 for Contact Form 7.

Установите и активируйте плагин на выбор. Настройка любого плагина не займет много времени — она простая и интуитивно понятная.

Установка капчи на CMS.

Плагин, включающий капчу в Joomla3, называется «CAPTCHA - reCAPTCHA». По умолчанию он отключен. Откройте панель управления сайтом и перейдите в «Расширения» > «Менеджер плагинов». Найдите необходимый плагин и отредактируйте его:

  1. Статус: установлено значение «Включено».
  2. Версия: выберите 2.0.
  3. Ключ сайта и секретный ключ: скопируйте и вставьте ключ сайта и секретный ключ, предоставленные Google reCAPTCHA, в соответствующие поля.
  4. Тема: выберите одну из 2 доступных тем.

Нажмите «Сохранить и закрыть».

Капча в Joomla.

Методы защиты от спама без капчи

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

Исключение автоматической регистрации аккаунтов

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

  • создание капчи;
  • запрос подтверждения адреса электронной почты;
  • блокировка email-адресов, находящихся в небезопасных доменах.

Включение функции модерации

Модерация — проверка перед публикацией контента, созданного пользователем. При этом не обязательно читать все материалы. Можно установить обязательную модерацию только для публикаций, оставленных новыми пользователями. Кроме того, можно настроить автоматический запрет на отправку анонимных комментариев. Другим действенным способом будет наделение особым правом на публикацию ссылок пользователей с определенной репутацией.

Выявление и удаление спам-аккаунтов

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

  • массовость регистрации — появление большого количества аккаунтов за короткий промежуток времени;
  • никнеймы пользователей, содержащие рекламные фразы, названия сторонних веб-ресурсов, формулировки поисковых запросов — «купить цветы дешево», «смотреть сериалы онлайн»;
  • запросы с нескольких устройств, входящих в один диапазон IP.

Отдельный каталог для контента, создаваемого пользователями

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

Защита от спам-ботов с помощью скрытого поля

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

Способ реализации:

  1. Создание стандартных полей для формы обратной связи — «name», «phone».
  2. Создание дополнительного поля, например «email», и присвоение ему невидимости при помощи стилей. Hidden-поле имеет атрибут «display: none».
  3. Указание условия в обработчике формы: если поле «email» заполнено, то возникает сообщение «Ошибка. Подозрение на спам!».

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

Заключение

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

Автор: Макхост

Оцените статью

Защита от спама с помощью капчи reCAPTCHA Установка на сайт «reCAPTCHA v2» Установка на сайт «reCAPTCHA v3» hCaptcha Как установить капчу, если сайт работает на CMS Методы защиты от спама без капчи Исключение автоматической регистрации аккаунтов Включение функции модерации Выявление и удаление спам-аккаунтов Отдельный каталог для контента, создаваемого пользователями Защита от спам-ботов с помощью скрытого поля Заключение

Другие полезные статьи

Макхост — лидер авторитетных рейтингов