Как создать собственный URL-адрес для входа в WordPress

По умолчанию после каждой установки WordPress есть три основных URL-адреса для входа в админку: {домен}/wp-admin.php, или {домен}/wp-login.php, или {домен}/wp-admin/. Под этим подразумевается условие, что система установлена ​​в корневую папку, и там размещается основной файл функционала входа в панель администрирования — wp-login.php. Эти URL-адреса (и, соответственно, этот файл) очень важны, что представляет собой очень вескую причину, когда возникнет желание их изменить. Хотя бы из соображений безопасности.

В сегодняшнем практическом уроке мы рассмотрим основные моменты по реализации данной задачи, и я попробую максимально подробно показать вам, как создать собственный URL для входа в Консоль (админку) сайта на CMS WordPress.

 

Зачем изменять URL-адрес входа в админ WordPress?

Открытость страницы входа в Консоль может повлечь за собой много проблем с безопасностью, особенно учитывая популярность движка ВордПресс. Поэтому взлом такого сайта будет «лакомым кусочком». Например, через хакерские атаки методом грубой силы (brute force). Добавьте сюда повсеместное использование слабых паролей, и хакерам взлом не доставит много хлопот. И если вдобавок администратор сайта использует банальный логин «admin».

Кстати, рекомендую ознакомиться со способами борьбы против атак подобного типа.

И рекомендую позаботиться о защите страницы входа в систему WordPress, в частности: использовать надежный пароль, ограничить количество попыток ввода пароля в форме (отсечь возможность угадывания пароля), заблокировать административную область WordPress по IP-адресу (например, разрешить только свой IP-адрес), и использовать плагины, внедряющие использование 2FA-аутентификации на странице логина, и т.д.

 

Как изменить URL-адрес Консоли в ​​WordPress без плагина

В сети много подобных мануалов, и практически все они рекомендуют изменять URL входа в панель администрирования сайта на WordPress только с помощью соответствующих плагинов. Таких инструкций, да и плагинов, есть немало. Но целью данной статьи является ознакомление вас именно со способом смены ссылки на Консоль без использования каких-либо плагинов. Чтобы вы знали и могли это сделать вручную. Ведь потенциально вы пытаетесь упростить жизнь своей команде/клиентам и усложнить ее для хакеров.

ВНИМАНИЕ! Данные действия предполагают, что вы опытный пользователь не только CMS ВордПресс, но и языка программирования PHP. Поскольку придется так или иначе вмешиваться в core файлы WP (хотя это и осуждается официальными рекомендациями).

Чтобы вручную изменить URL-адрес входа на сайт, воспользуйтесь копией файла wp-login.php. Подключитесь к своему сайту на сервере через FTP и перейдите в корневой каталог WordPress, — там вам нужно найти файл wp-login.php и сделать локальную копию (создать бекап) на свой компьютер.

Откройте копию этого файла с помощью текстового редактора, например Notepad++. Функцией поиска в текстовом редакторе найдите строки, в которой указана ссылка site_url с параметром wp-login.php. В общем, это используется в нескольких основных формах:

  1. форма регистрации на сайте: name="registerform"
  2. форма входа (логина) на сайт: name="loginform"
  3. форма подтверждения email админа: name="admin-email-confirm-form"
  4. форма «потерянного пароля»: name="lostpasswordform"
  5. форма сброса пароля: 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 текущей темы.

Спасибо за внимание!

 

Recent Posts

Эрнест Хемингуэй

Если вас что-то ранит, значит, вам не все равно Эрнест Хемингуэй  

4 часа ago

Как отслеживать производительность фрилансера без сложного софта

Производительность – это валюта фрилансера. Когда ты работаешь сам на себя, никто не спросит: "Сколько…

2 дня ago

Уоррен Баффетт

Требуется 20 лет, чтобы создать репутацию, но 5 минут, чтобы ее разрушить. Если вы подумаете…

6 дней ago

Как создать простое переключение цветового оформления сайта (CSS и JavaScript)

Если вы хотите добавить на свой сайт возможность переключения между светлым/темным цветовым режимом, тогда вы…

1 неделя ago

Зиг Зиглар

Тебя определяют две вещи: твое терпение, когда у тебя ничего нет и твое поведение, когда…

2 недели ago

Стивен Кинг

Сколько бы не было у человека друзей, он все равно будет одинок, если рядом с…

2 недели ago