Эффективные способы защиты формы от спам-ботов без капчи

Сетевой блог

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

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

7 февраля 2019 года.

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

Для чего нужно защищать форму от ботов

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

Спам-боты, которые регистрировались через форму на сайте

Все это были боты, которые зарегистрировались через форму на сайте и время от времени возвращались. Мы не знаем, что они искали, так как мы вовремя приняли меры.

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

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

Такие комментарии отталкивают реальную аудиторию сайта, которая постепенно умирает.

ЧИТАТЬ ЕЩЁ:  Qiwi кошелек - регистрация и использование

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

Таким образом, бот использует вашу репутацию. После такой атаки вы можете попасть в черный список.

Нужна ли капча?

Захват — это классический пример теста Тьюринга, который помогает отличить искусственный интеллект от человеческого.

Форма подписки с использованием капчи

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

Можно ли защитить формы без капчи? Абсолютно.

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

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

Установите временные рамки для отправки формы.

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

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

ЧИТАТЬ ЕЩЁ:  Зачем WhatsApp собирает данные о своих пользователях и как сохранить конфиденциальность

Добавление скрытых полей

Логика следующая: на сайте отображаются два поля ввода (имя и email). Хотя на самом деле третье поле скрыто в коде.

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

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

Блокирование агентов пользователей.

Спамеры используют определенные заголовки агентов пользователя. Вы также можете найти в Интернете список пользовательских агентов спам-ботов и заранее заблокировать их в своем файле htaccess. Боты могут успешно обойти этот блок, маскируя свой пользовательский агент.

Установка "ловушек".

Примером может служить техника скрытых ссылок. Невидимые для человека, они существуют в коде. Когда бот нажимает на ссылку, его IP блокируется. Однако обратите внимание, что чит-коды, найденные в Интернете, скорее всего, не будут работать, если их использовать публично.

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

Использование услуг reCAPTCHA

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

Например, существуют службы reCaptcha, поддерживаемые Google, и невидимые службы reCaptcha. А если вы поищете "аналог reCaptcha", то найдете множество бесплатных и платных с различным дизайном и возможностями.

ЧИТАТЬ ЕЩЁ:  20 шагов к идеальному дизайну сайта

ReCaptcha.

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

Форма подписки от Disqus, где используется reCaptcha

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

Невидимая reCaptcha.

Работает по тому же принципу, что и reCaptcha, за исключением того, что пользователю не нужно нажимать на кнопку "Я не робот". Нажатие кнопки отправки запускает тест на гуманность. Невидимая reCaptcha отображается в виде небольшой плитки с логотипом в углу страницы. Например, в Avito это выглядит следующим образом

invisible reCaptcha в форме подписки на «Авито»

Использование ведущего плана

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

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

Когда пользователь открывает сайт, выполняются следующие проверки

  • Активность вкладки (что для большинства ботов не означает "активная вкладка"), и
  • Пользовательский агент (отсеивает более противоречивых посетителей), и
  • Активность страницы (прокрутка, сканирование и движение бегунка).

Если активности нет, сценарий не будет продолжать функционировать. Однако, если признаки "человечности" будут найдены, сценарий будет продолжен. Захват, набор текста, головоломка, регистрация, без SMS.

Заключение

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

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