Как прекратить регистрацию спам-ботов на сайте с 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 (вероятнее всего) или воспользоваться поиском этого кода:
и заменить его на такой:
Заключение
Вот и все, мы, без дополнительных плагинов не нагружая систему, добавив лишь несколько строчек кода, лишили возможности спам-ботов автоматически регистрироваться. Для обычных пользователей не изменилось ничего. Конечно, после обновления системы управления, эти действия необходимо выполнять заново, или воспользоваться одним из расширений. Рекомендовать конкретно какой-нибудь плагин мы не будем (это дело вкуса, к тому же бесплатные решения могут работать с ошибками или не так, как ожидается - все зависит от многих факторов).
Но если вам будет необходима наша помощь - обращайтесь. Поможем настроить безопасность и обеспечить комфортную работу вашего интернет-сайта. Заодно поможем проверить и настроить безопасность сервера.
Вероятнее всего вам понадобится такая услуга, если вы не задумывались о безопасности вашего сайта ранее. Мы более чем уверены, вас ждет много новых открытий.
Иван
К сожалению не сработало…
20.12.2018боты как регились, так и продолжают…
по 50-70 в день.
куда копать – не знаю
WBSTAR
Попробуйте использовать плагины защиты, если кодом не помогает, хотя это странно. Ведь регистрация бота происходит скриптом, а он настроен на стандартные пути и файлы CMS.
23.02.2019Леонид
Спасибо за информацию, но непонятно, зачем это тому кто засылает ботов. На старых сайтах такого не было, а вот на последнем каждый день. Видимо проблема в выбранной теме для ВордПресс?
13.02.2019WBSTAR
Не думаю, что проблема в теме. Мне кажется, из-за того, что CMS популярна она подвержена большому количеству атак всех мастей. Без дополнительной защиты и ее тонких настроек есть шанс получить много чего. Постоянно получаю письма от сайтов о предотвращении атак различного типа. Насчет регистрации – тоже часто задаю себе вопрос – зачем? Приходит мысль, чтобы оставить комментарии с ссылками (вдруг у вас нет модерации) и все опубликуется.
23.02.2019Alex
Может не сработало потому-что, искомая строка 806 и та, на которую заменить абсолютно такая же? Видимо ошибка в статье…
01.06.2024Alex
wordfence решает проблему, но постоянно нужно добавлять фильтры, т.к. спамеры не спят)
10.07.2024