Недавно меня посетила идея как же можно отключить регистрацию для пользователей на сайте под управление WordPress. Не без гугления обошлось, но я собрал все возможные способы для того чтобы предотвратить регистрацию. Получилось 6 реальных способов чтобы обезопасить свой сайт и навсегда забыть о спаме ботами через стандартную форму регистрации. Далее разребем все спобопы подробно с плюсами и минусами.
Оглавление:
- Отключаем регистрацию на сайте через админку WordPress
- Отключить регистрацию wordpress для пользователей через файл wp-config.php
- Убираем регистрацию через плагины wordpress
- Удаление регистрации на сайте wordpress через файл wp-signup.php или wp-login.php
- Функция отключения регистрации пользователей в WP
- Использование .htaccess для блокировки доступа к странице регистрации WordPress
- Финалочка
Отключаем регистрацию на сайте через админку WordPress
Пожалуй самый простой и быстрый способ, который не требует знаний программирования от слова совсем.
- Войдите в административную панель WordPress.
- Перейдите на страницу «Настройки» (Settings) -> «Общее» (General).
- Снимите галочку с опции «Любой может зарегистрироваться» (Anyone can register).
- Нажмите кнопку «Сохранить изменения» (Save Changes) внизу страницы.
Преимущества:
- Простота и быстрота исполнения.
- Не требует технических знаний или доступа к файлам сайта.
- Не создает риска сломать что-либо на сайте.
Недостатки:
- Ограниченная гибкость; не предлагает дополнительных параметров управления регистрацией.
Отключить регистрацию wordpress для пользователей через файл wp-config.php
Чтобы отключить регистрацию в wordpress необходимо выполнить следующие дейстия:
- Откройте файл
wp-config.php
в корневой директории вашего сайта с помощью FTP клиента или через файловый менеджер в панели управления хостингом. - Добавьте следующий код в файл
wp-config.php
:
define('DISALLOW_REGISTRATION', true);
- Сохраните и закройте файл
wp-config.php
.
Обратите внимание, что данный метод (через wp-config.php
) является более продвинутым и требует доступа к файлам вашего сайта. Если вы не уверены в своих технических навыках, лучше использовать первый метод через административную панель WordPress.
Преимущества:
- Предлагает уверенное и надежное решение.
- Работает на уровне конфигурации сайта, обходя пользовательский интерфейс.
Недостатки:
- Требует технических знаний и доступа к файлам сайта.
- Риск сломать что-то, если не выполнить этот шаг правильно.
Убираем регистрацию через плагины wordpress
В WordPress существует множество плагинов, которые позволяют управлять регистрацией пользователей. Некоторые из этих плагинов:
- User Registration
- User Profile – Profile Builder
- WP User Manager
- RegistrationMagic
После установки и активации любого из вышеперечисленных плагинов, вы можете легко отключить регистрацию пользователей через настройки плагина.
Преимущества:
- Легко настраивается через пользовательский интерфейс.
- Может предложить дополнительные функции и параметры управления регистрацией.
- Не требует технических знаний для установки и настройки.
Недостатки:
- Может замедлить работу сайта, если плагин плохо спроектирован.
- Существует риск конфликта с другими плагинами или вашей темой.
Удаление регистрации на сайте wordpress через файл wp-signup.php
или wp-login.php
Очень рискованно удалять главные файлы, которые отвечают за авторизацию и регистрацию в вордпрессе и я не рекомендую этот пункт для новичков которые еще боятся кода. Хотя конечно способ действенный, особенно если у вас отключено обновление ядра WP (а если включено, то в следующем обновлении удаленные файлы опять подгрузяться с сервева ВП и смысла в действии не будет) и вы тогда можете смело удалять или переименовывать файлы логина и входа на сайт. Совету изначально установить чистую wordpress на локалку или хостинг и поиграть с данным методом чтобы ничего не упоороть на рабочем проекте.
Преимущества:
- Эффективно блокирует регистрацию пользователей.
Недостатки:
- Есть риск сломать сайт.
- Требует технических знаний и доступа к файлам сайта.
- Не рекомендуется, так как это может вызвать проблемы при будущих обновлениях WordPress.
Функция отключения регистрации пользователей в WP
Данную функцию нужно добавить в файл вашей темы wordpress в файл function.php в любое удобное место, но лучше в самый низ файла.
add_action('init', 'disable_user_registration');
function disable_user_registration() {
if ( is_admin() ) {
update_option('users_can_register', 0);
}
}
Данную функцию можно модифицировать на ваше усмотрение и использовать как вам удобно, все зависит от ваших навыков, требований и полета фантазий.
Вот например я написал функцию которая разрешает регистрацию через ссылку на определенный URL адрес с использованием токена. Это значит стандартный метод регистрации полностью запрещен, но вы можете создать страницу через админку и добавить туда свой токен и кидать ссылку по которой регистрация будет доступна. Этот вариант хорошо подойдет если у вас закрытый сайт и регистрация доступна по подписке или просто что-то типа закрытого клуба.
add_action('init', 'disable_user_registration');
function disable_user_registration() {
// Проверьте, есть ли параметр "special_token" в URL и соответствует ли он вашему секретному токену
if ( isset($_GET['special_token']) && $_GET['special_token'] == 'your_secret_token' ) {
// Если специальный токен присутствует и верен, разрешите регистрацию
update_option('users_can_register', 1);
} else {
// Во всех остальных случаях отключите регистрацию
update_option('users_can_register', 0);
}
}
В этом примере your_secret_token
— это секретный токен (можете написать любое название), который вы создаете для разрешения регистрации. Каждый раз, когда кто-то посещает ваш сайт с этим специальным токеном в URL (например, https://yoursite.com/register?special_token=your_secret_token
), регистрация будет разрешена. Во всех остальных случаях регистрация будет отключена.
Преимущества:
- Предлагает гибкий способ управления регистрацией пользователей.
- Позволяет дополнительно настроить поведение сайта.
Недостатки:
- Требует знаний по PHP и WordPress.
- Может быть сложным для новичков.
Использование .htaccess для блокировки доступа к странице регистрации WordPress
Данный метод очень простой, но он подойдет для тех у кого хостинг сервер на apache. Для тех, кто не вкурсе, сейчас хостинги используют 2 типа сервера:
- Apache — наиболее популярный, в основном используется на базовых тарифах хостингов, поддерживает конфигурации файлов .htaccess
- Nginx — более мощный и производительный, используется для сложных проектов и не поддерживает конфиг файла .htaccess
Перейдите на свой сайт, откройте панель разработчика с помощью F12, перейдите на вкладку Network и обновите страницу, найдите файл в самом верху (обычно файл — это название вашего сайта или название конкретной страницы), затем найдите строку сервер и справа будет написано apache или nginx. Если у вас сервер на Апаче, то можете смело использовать данный код.
<Files wp-login.php>
Order Deny,Allow
Deny from all
</Files>
ПРИМЕЧАНИЕ! некоторые хостинги скрывают файл конфигурации .htaccess и делают его невидимым, он по дефолту находится в корневой папке вашего сайта.
Преимущества:
- Эффективно блокирует доступ к странице регистрации на уровне сервера.
Недостатки:
- Требует хостинг сервер под управлением Apache
- Ошибка в файле .htaccess может поломать вам сайт.
Финалочка
В статье условно 6 методов отключения регистрации на сайте, я бы сразу не рекомендовал использовать плигны, так как я не доверяю большинству плагинов, кроме тех что написал я (потому что я не пишу дич код и не вешаю лишние стили и скрипты, которые потом тормозят сайт и вызывают конфликты). В остальном же можете использовать любой удобный для вас метод. Я больше склоняюсь к редактированию конфига wp-config.php
— одна строчка кода и у вас нет регистрации + удалить файлы и будет вам счастье.
И всегда помните: чтобы вы не делали на своем сайте, всегда делайте бекапы файлов и базы данных и удачи вес в освоении новых навыков).
Для отправки комментария вам необходимо авторизоваться.