По умолчанию после каждой установки WordPress есть три основных URL-адреса для входа в админку: {домен}/wp-admin.php
, или {домен}/wp-login.php
, или {домен}/wp-admin/
. Под этим подразумевается условие, что система установлена в корневую папку, и там размещается основной файл функционала входа в панель администрирования — wp-login.php
. Эти URL-адреса (и, соответственно, этот файл) очень важны, что представляет собой очень вескую причину, когда возникнет желание их изменить. Хотя бы из соображений безопасности.
В сегодняшнем практическом уроке мы рассмотрим основные моменты по реализации данной задачи, и я попробую максимально подробно показать вам, как создать собственный URL для входа в Консоль (админку) сайта на CMS WordPress.
Открытость страницы входа в Консоль может повлечь за собой много проблем с безопасностью, особенно учитывая популярность движка ВордПресс. Поэтому взлом такого сайта будет «лакомым кусочком». Например, через хакерские атаки методом грубой силы (brute force). Добавьте сюда повсеместное использование слабых паролей, и хакерам взлом не доставит много хлопот. И если вдобавок администратор сайта использует банальный логин «admin».
Кстати, рекомендую ознакомиться со способами борьбы против атак подобного типа.
И рекомендую позаботиться о защите страницы входа в систему WordPress, в частности: использовать надежный пароль, ограничить количество попыток ввода пароля в форме (отсечь возможность угадывания пароля), заблокировать административную область WordPress по IP-адресу (например, разрешить только свой IP-адрес), и использовать плагины, внедряющие использование 2FA-аутентификации на странице логина, и т.д.
В сети много подобных мануалов, и практически все они рекомендуют изменять URL входа в панель администрирования сайта на WordPress только с помощью соответствующих плагинов. Таких инструкций, да и плагинов, есть немало. Но целью данной статьи является ознакомление вас именно со способом смены ссылки на Консоль без использования каких-либо плагинов. Чтобы вы знали и могли это сделать вручную. Ведь потенциально вы пытаетесь упростить жизнь своей команде/клиентам и усложнить ее для хакеров.
ВНИМАНИЕ! Данные действия предполагают, что вы опытный пользователь не только CMS ВордПресс, но и языка программирования PHP. Поскольку придется так или иначе вмешиваться в core файлы WP (хотя это и осуждается официальными рекомендациями).
Чтобы вручную изменить URL-адрес входа на сайт, воспользуйтесь копией файла wp-login.php
. Подключитесь к своему сайту на сервере через FTP и перейдите в корневой каталог WordPress, — там вам нужно найти файл wp-login.php
и сделать локальную копию (создать бекап) на свой компьютер.
Откройте копию этого файла с помощью текстового редактора, например Notepad++. Функцией поиска в текстовом редакторе найдите строки, в которой указана ссылка site_url
с параметром wp-login.php
. В общем, это используется в нескольких основных формах:
name="registerform"
name="loginform"
name="admin-email-confirm-form"
name="lostpasswordform"
name="resetpassform"
В этих строках вы можете указать свой пользовательский URL для входа в ваш сайт. Например, вы можете заменить эти строки на new-access-address.php
:
После замены сохраните файл и закройте его. После этого переименуйте его в соответствии с новым URL-адресом (выбранным на предыдущем шаге). В моем примере файл будет называться new-access-address.php
. Если вы возьмете этот адрес и добавите его к своему домену, у вас будет кастомный URL админки, который будет выглядеть примерно следующим образом:
{домен}/new-access-address.php
Если вам нужно, чтобы система при попытке входа в админку перенаправляла на новый адрес, сделайте следующее. Откройте активную тему сайта и отредактируйте functions.php, добавив в него следующий «хук» WordPress:
add_filter('login_url', 'sebweo_custom_wplogin_url', 10, 3); function sebweo_custom_wplogin_url($login_url) { $login_url = site_url('new-access-address.php', 'login'); return $login_url; }
Сохраните изменения в functions.php
и попробуйте получить доступ к новому URL-адресу входа (который вы только что настроили). Все должно работать так же хорошо, как и раньше. И даже при попытке зайти по старому адресу типа /wp-admin/
вас перебросит на новую страницу.
После этого можно удалить исходный файл wp-login.php
(но сделав предварительно его бекап, — на всякий случай).
Если вам нужно добавить в какое-либо другое место сайта форму с логином (авторизацией), для этого достаточно разместить в соответствующем php-шаблоне следующую функцию:
<?php wp_login_form(); ?>
Функционал этой функции и соответственно самой формы входа генерируется кодом данной функции в файле core системы WordPress по адресу {домен}/wp-includes/general-template.php
.
Теоретически, вы можете изменить адрес входа напрямую в этом файле, но каждое последующее обновление движка «сотрет» ваши правки.
Хотя сама идея вмешательства в системные элементы WordPress может показаться сложной, но в данном уроке вы увидели, что это не так уж и проблематично (лишь при условии, что вы опытный пользователь и полностью осознаете свои действия).
Сегодня я показал вам как можно изменить URL входа в панель администрирования (Консоль, админка) сайта на CMS WordPress. Заметьте, что после каждого обновления движка существует определенная вероятность, что ваши правки будут «затерты» и вам придется делать все заново (по крайней мере, если вы изменяете системные файлы, а не файлы в текущей теме). Этот недостаток можно «победить» созданием новой страницы для входа и использовать хук в файле functions.php
текущей темы.
Спасибо за внимание!
Дискуссии вокруг этой темы вас, вероятно, уже утомили. Но я в данной статье постараюсь показать…
Консоль браузера (также известная как консоль JavaScript или веб-консоль) — это мощный инструмент для разработчиков,…
Никогда не указывайте на ошибки, если не знаете, как их исправить Джордж Бернард Шоу
Когда необходимо сделать выбор, а вы его не делаете, — это тоже выбор Уильям Джеймс…
Когда вы ставите перед собой цели, очень важно быть максимально конкретным. Здесь не поможет простая…
Современный человек думает, что теряет время, когда не действует быстро, однако не знает, что делать…