Как отключить авторизацию через email в WordPress

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

Почему стоит отключить авторизацию через email в WordPress

Авторизация через email упрощает вход, но одновременно увеличивает поверхность атаки. Многие злоумышленники знают email-адрес жертвы или могут его легко подобрать, тогда как точное имя пользователя может быть неизвестно. Отключение входа по email помогает:

  • Уменьшить риск перебора паролей с использованием email;
  • Повысить безопасность аккаунтов;
  • Сделать процедуру входа более строгой и контролируемой.

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

Как WordPress обрабатывает вход по email и имени пользователя

Когда пользователь вводит в форму логина данные, WordPress проверяет, есть ли совпадение либо с именем пользователя, либо с email. Если совпадение по email найдено, система подставляет связанный с ним логин и пытается авторизовать пользователя.

Чтобы запретить такую логику, нужно перехватить процесс аутентификации и проверить, что введено именно имя пользователя, а не email.

Реализация отключения входа через email с помощью кода

Для решения задачи добавим фильтр на аутентификацию, который проверит формат введённого логина и отклонит попытки входа с email.

function wptavern_restrict_login_to_username( $user, $username, $password ) {
    if ( is_email( $username ) ) {
        return new WP_Error( 'email_login_disabled', __( 'Вход по email запрещён, используйте имя пользователя.' ) );
    }
    return $user;
}
add_filter( 'authenticate', 'wptavern_restrict_login_to_username', 20, 3 );

Объяснение кода:

  • Функция wptavern_restrict_login_to_username получает три параметра: объект пользователя (если он уже есть), введённый логин и пароль.
  • С помощью встроенной функции is_email проверяется, является ли введённая строка email-адресом.
  • Если да — возвращается объект ошибки с сообщением, запрещающим вход по email.
  • Если нет — возвращается объект пользователя без изменений, и процесс аутентификации продолжается.

Добавьте этот код в файл functions.php активной темы или в отдельный плагин.

Использование плагинов для ограничения авторизации

Если не хотите вручную писать код, можно воспользоваться плагинами, которые расширяют возможности входа и логина. Например:

  • Clearfy Pro — плагин оптимизации и безопасности, в котором есть функция ограничения способов авторизации. Подробнее: wpshop.ru.
  • WPCommunity — плагин для создания сообщества с расширенными настройками пользователей, в том числе ограничения входа по email. Подробнее: wpshop.ru.

Такие плагины позволяют гибко настраивать процессы входа, добавлять двухфакторную аутентификацию и логирование попыток входа.

Дополнительные советы по безопасности авторизации в WordPress

Отключение входа по email — только один из шагов. Рекомендуется дополнительно:

  • Включить двухфакторную аутентификацию (2FA) через плагины, например, Clearfy Pro.
  • Использовать сложные пароли и регулярно их менять.
  • Ограничить количество попыток входа, чтобы предотвратить перебор.
  • Вести логирование попыток авторизации для контроля активности.

Эти меры значительно повысят безопасность вашего сайта.

Тестирование решения и отладка

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

  • Попробуйте войти под email — должно появиться сообщение об ошибке.
  • Войдите под именем пользователя — вход должен пройти успешно.
  • Проверьте совместимость с другими плагинами безопасности и кеширования.

Для отладки можно включить WP_DEBUG и просмотреть логи ошибок.

Отправка формы в WordPress без перезагрузки страницы с помощью AJAX
21.12.2025
Оптимизация изображений в WordPress: автоматические решения для ускорения сайта
19.03.2026
Как использовать REST API для создания кастомных эндпоинтов в WordPress
09.12.2025
Оптимизация базы данных WordPress: удаление избыточных данных для ускорения сайта
25.11.2025
Как использовать WPRemark для управления отзывами в WordPress
05.02.2026