Как остановить спам-регистрации пользователей в WordPress?
Автор: Eureka Studio · Обновлено
Коротко
Если открытая регистрация вам не нужна, отключите её. Если нужна — ограничьте число регистраций с одного IP и из одной сети в час, задайте общий почасовой потолок на весь сайт, который при срабатывании отправляет новые аккаунты на проверку, блокируйте одноразовые email, добавьте невидимые поля-ловушки и притормаживайте приветственные письма. В WooCommerce никогда не блокируйте оформление заказа — подозрительные аккаунты лучше отложить на проверку.
Шаги
1Шаг 1
Проверьте, нужна ли открытая регистрация
В разделе Настройки → Общие посмотрите, отмечен ли пункт Членство «Любой может зарегистрироваться». В WooCommerce проверьте, могут ли покупатели создавать аккаунт на странице «Мой аккаунт». Если это никому не нужно, отключите.
2Шаг 2
Включите защиту регистрации в режиме наблюдения
В Hushfort откройте «Защиту регистрации», включите её и выберите режим «Только записывать — режим наблюдения, регистрации не блокируются». Оставьте включёнными «Невидимые поля-ловушки» и сохраните — так вы сможете проверить журнал, прежде чем защита начнёт действовать.

3Шаг 3
Задайте почасовые лимиты и потолок
Ограничьте число регистраций с одного IP и из одной сети в час, затем задайте «Почасовой потолок регистраций (на весь сайт)». Когда потолок достигнут, аварийный выключатель отправляет новые аккаунты на проверку.
4Шаг 4
Посмотрите, как волна регистраций упирается в потолок
Когда регистраций становится больше почасового потолка, новые аккаунты попадают в «Ожидающие аккаунты» с причиной «Сработал аварийный выключатель». Одобрите настоящие, остальные удалите.
5Шаг 5
Удалите уже созданные аккаунты
Воспользуйтесь мастером очистки: нажмите «1. Предпросмотр», чтобы получить список аккаунтов без заказов, комментариев и записей, затем «2. Создать копию и удалить». Удалённые аккаунты можно восстановить в течение 30 дней.

Почему это важно
Спам-регистрации в WordPress останавливают так: если открытая регистрация не нужна, снимите «Любой может зарегистрироваться» в «Настройки» → «Общие»; если нужна — ограничьте регистрации с одного IP и из одной сети в час, задайте общий почасовой потолок на сайт и добавьте невидимые поля-ловушки. Оформление заказа в WooCommerce при этом не блокируйте.
Несколько фейковых аккаунтов безвредны. Лавина — нет. Мы создали этот уровень защиты после того, как один сайт получил около 10 000 запросов на регистрацию всего за час и в итоге оброс десятками тысяч фейковых аккаунтов. На другом сайте приветственные письма фейковым аккаунтам исчерпали почтовую квоту, и настоящие письма о заказах перестали уходить.
Фейковые регистрации вредят и менее заметно: раздутая таблица пользователей, медленные экраны админки, засорённые списки клиентов и отчёты по почте, а также падающая репутация почтового сервера — каждый раз, когда приветственное письмо отскакивает от несуществующего адреса.
Частые ошибки
- Регистрация открыта по недосмотру. Пункт «Любой может зарегистрироваться» иногда включают при настройке сайта и забывают.
- Слишком сильная роль по умолчанию. Новые пользователи должны получать роль «Подписчик» или «Клиент», но никак не «Автор» и выше.
- Лимиты только по IP. Волны регистраций часто идут со множества адресов одной сети. Ограничивайте и по сети.
- Закрытие регистрации во время атаки. Так вы отрезаете настоящих покупателей — именно этого и добивается атакующий. Если отправлять новые аккаунты в ожидание, дверь остаётся открытой, пока волна не схлынет.
- Блокировка при оформлении заказа. Магазин никогда не должен терять заказ из-за спам-фильтра.
- Удаление без резервной копии. Массовое удаление необратимо. Сначала посмотрите список и сохраните копию.
Без плагина
- Отключите регистрацию, если она не нужна: Настройки → Общие → снимите отметку «Любой может зарегистрироваться». В WooCommerce: WooCommerce → Настройки → Учётные записи и конфиденциальность — отключите создание аккаунта на странице «Мой аккаунт».
- Оставьте роль по умолчанию минимальной: Настройки → Общие → Роль нового пользователя → Подписчик.
- Добавьте поле-ловушку в форму WordPress двумя небольшими хуками:
<?php
add_action( 'register_form', function () {
echo '<p style="position:absolute;left:-9999px" aria-hidden="true">'
. '<input type="text" name="hp_company" tabindex="-1" autocomplete="off"></p>';
} );
add_filter( 'registration_errors', function ( $errors ) {
if ( ! empty( $_POST['hp_company'] ) ) {
$errors->add( 'spam', 'Registration failed.' );
}
return $errors;
} );
Этот код защищает только стандартную форму WordPress — не WooCommerce и не другие формы регистрации, — и в нём нет ни лимитов частоты, ни потолка, ни очистки. Во время идущей атаки эти шаги помогут, но не остановят её.
Если что-то пошло не так
- Настоящие покупатели не могут зарегистрироваться. Проверьте журнал в режиме наблюдения и посмотрите, не упирается ли сеть вашего офиса или мероприятия в лимит на сеть. Увеличьте его или добавьте IP в белый список.
- Накопились ожидающие аккаунты. Они автоматически удаляются через 7 дней. Одобрите настоящие до этого срока.
- Покупатель не получил приветственное письмо. Если сработал потолок, задержанные аккаунты не получают писем до одобрения. Так задумано.
С Hushfort
«Защита регистрации» входит в Hushfort Pro — платное дополнение к Hushfort Security, бесплатному плагину безопасности для WordPress.
Защита регистрации Hushfort охватывает регистрацию в WordPress и WooCommerce, а также другие формы регистрации:
- По умолчанию 3 регистрации в час с одного IP (IPv6 /64) и 10 в час из одной сети (/24, IPv6 /48).
- Общий потолок на сайт — 50 в час, с аварийным выключателем, который остаётся включённым 60 минут. По умолчанию он отправляет новые аккаунты в ожидание без писем; вместо этого можно выбрать закрытие регистрации.
- Блокировка одноразовых email и распознавание вариаций Gmail (точки, +метки, googlemail).
- Невидимые поля-ловушки в регистрации WordPress и WooCommerce.
- Притормаживание приветственных писем, чтобы фейковые регистрации не сжигали почтовую квоту.
- Мастер очистки с предпросмотром и резервной копией, из которой можно восстановить аккаунты в течение 30 дней.
- Ожидающие аккаунты автоматически удаляются через 7 дней.
Оформление заказа никогда не блокируется. Сначала можно запустить защиту в режиме наблюдения, чтобы увидеть эффект, прежде чем она начнёт действовать.
Частые вопросы
Почему у меня так много фейковых регистраций?
Как массово удалить фейковых пользователей WordPress?
Не заблокируют ли лимиты регистраций настоящих покупателей WooCommerce?
Что такое вариации адресов Gmail?
Стоит ли добавить CAPTCHA в форму регистрации?
Похожие инструкции
Как защитить форму обратной связи в WordPress от спама без капчи?
Защитите форму обратной связи от спама без капчи: поле-ловушка, время заполнения и лимиты для Elementor, Contact Form 7 и WPForms. Данные остаются у вас.
Смотреть шагиКак распознать и заблокировать поддельный Googlebot в WordPress?
Поддельный Googlebot и плохие боты нагружают WordPress. Проверяйте краулеров по IP, блокируйте подделки и задайте бюджет запросов на IP, не мешая заказам.
Смотреть шагиКак отключить комментарии в WordPress или избавиться от спама в комментариях?
Отключите комментарии в WordPress везде или оставьте их и остановите спам: отдельные правила для записей и отзывов о товарах, без пингбэков и без капчи.
Смотреть шаги


