Как прекратить регистрацию спам-ботов на сайте с WordPress

Как прекратить регистрацию спам-ботов на сайте с WordPress

Предыстория

Один из наших клиентов обратился к нам за помощью с вопросом:

“Захожу в админку сайта своего интернет-магазина посмотреть аналитику, а там куча новых пользователей, которые не сделали ни одного заказа, на почту получаю уведомления, что пользователь с адресом вида adsress@***.*** успешно зарегистрирован. Количество пользователей постоянно растет быстрыми темпами, но не все из них совершают покупки. Что это? И что с этим можно сделать, чтобы обеспечить защиту от такого поведения, выявить ботов и уменьшить количество спама?”

 

Разбираемся с ситуацией

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

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

 

Что случилось?

Дело в том, что сайт индексируется в интернете, и программы-боты не очень чистых на руку людей постоянно сканируют различные сайты на предмет возможных уязвимостей. Платформа WordPress очень популярна, удобна, файловая структура известна. Файл регистрации лежит в корневом каталоге сайта и его можно запустить, набрав в адресной строке браузера имя исполняемого файла, что эти программы и делают автоматически. Далее идет автоматическое заполнение стандартных полей регистрации, и, если мне не ставим никаких лишних препятствий для пользователя (а наша задача сделать максимально прозрачной и простой все взаимодействие с ресурсом) – происходит регистрация. Этим и пользуются злоумышленники. Конечно, толку от такой регистрации не много, но постоянно растет база данных и в выборку по аналитике иногда попадают ненужные данные.

 

Решение – прекращаем спам

Первое ,что пришло в голову, получив такой вопрос, это было решение воспользоваться решением Google – ReCaptcha – проверка “человечности” пользователя. (Спойлер – не спасло). Были установлены видимые простые каптчи (“Я не робот”) на формы обратной связи, комментариях, регистрациях. Количество спам комментариев уменьшилось, но фейковые регистрации не прекратились. Добавили невидимую капчу нового поколения – результат тот же.

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

 

Как это сделать? Рассказываем (если есть такая проблема и желание решить все самому)

Необходимо зайти по FTP в корень вашего сайта и открыть для редактирования файл wp-login.php, сохранить оригинал на всякий случай и

Далее (для версии 4.9.4) перейти на строку 777, там будет вот этот код:

$user_login = $_POST[‘user_login’];

 

и сразу после него добавить строки:

if(!empty($user_login)) wp_die(‘Хакер чтоль, или спам-бот? ;)’);
$user_login = $_POST[‘nospam_user_login’];

 

потом необходимо перейти на строку 806 (вероятнее всего) или воспользоваться поиском этого кода:

 

 

 

и заменить его на такой:

 

 

 

Заключение

Вот и все, мы, без дополнительных плагинов не нагружая систему, добавив лишь несколько строчек кода, лишили возможности спам-ботов автоматически регистрироваться. Для обычных пользователей не изменилось ничего. Конечно, после обновления системы управления, эти действия необходимо выполнять заново, или воспользоваться одним из расширений. Рекомендовать конкретно какой-нибудь плагин мы не будем (это дело вкуса, к тому же бесплатные решения могут работать с ошибками или не так, как ожидается –  все зависит от многих факторов).

Но если вам  будет необходима наша помощь – обращайтесь. Поможем настроить безопасность и обеспечить комфортную работу вашего интернет-сайта. Заодно поможем проверить и настроить безопасность сервера.

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

4 thoughts on “Как прекратить регистрацию спам-ботов на сайте с WordPress
  1. Иван

    К сожалению не сработало…
    боты как регились, так и продолжают…
    по 50-70 в день.
    куда копать – не знаю

    20.12.2018 Reply
    • WBSTAR

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

      23.02.2019 Reply
  2. Леонид

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

    13.02.2019 Reply
    • WBSTAR

      Не думаю, что проблема в теме. Мне кажется, из-за того, что CMS популярна она подвержена большому количеству атак всех мастей. Без дополнительной защиты и ее тонких настроек есть шанс получить много чего. Постоянно получаю письма от сайтов о предотвращении атак различного типа. Насчет регистрации – тоже часто задаю себе вопрос – зачем? Приходит мысль, чтобы оставить комментарии с ссылками (вдруг у вас нет модерации) и все опубликуется.

      23.02.2019 Reply
Добавить комментарий

Your email address will not be published.