Як змінити адресу сторінки авторизації сайту на WordPress

В цій статті розкажу про безпеку сайту на WordPress. А точніше, про те, як змінити адресу сторінки входу в адміністративну панель WordPress. Це дозволить позбутися настирливих ботів, що навантажують сервер і прагнуть зламати ваш сайт. І від усіх зловмисників, які бажають заволодіти вашим сайтом.

Безпека сайту на WordPress починається з правильного налаштування доступу. Зміна логіна та пароля адміністратора, а також активація двофакторної автентифікації значно ускладнять зловмисникам доступ до вашого сайту.

Але сторінка доступу в адміністративну панель залишається доступною всім. І це дуже погано. Так як підсів на цю сторінку, з підбором паролів, злісний бот в кілька разів збільшує навантаження на сайт. При цьому залежно від вашого хостингу, сайт може впасти, і буде недоступний деякий час. Або ж взагалі буде підібрана пара логін і пароль і зловмисник зашкодить сайту.

Як змінити URL сторінки входу в адмінпанель WordPress

Для того, щоб перейти до адміністративної панелі сайту WordPress, як правило, до адреси (url) сайту додається wp-login.php.

Вид такого посилання: http://domen.com/wp-login.php.

URL сторінки входу в адмінку

Ввівши таку адресу, будь-хто перейде на сторінку входу в адмінпанель. І, може, методом підбору намагатися отримати доступ до сайту.

Змінюємо адресу входу в адмінпанель

Для цього нам знадобиться стандартний файл, який відповідає за виведення форми доступу до адмінпанелі: wp-login.php.

Крок 1

Для зміни адреси входу в адміністративну панель WordPress, вам знадобиться доступ до файлів вашого сайту. Ви можете отримати його через файловий менеджер хостинг-провайдера або за допомогою FTP-з’єднання. Знайдіть файл wp-login.php і завантажте його на свій комп’ютер.

Файл wp-login.php

Крок 2

Перейменуйте файл, ім’я підбираєте так, щоб вам було зручно використовувати його для входу в адмін панель, але при цьому воно має бути досить складним для підбору. Я, приклад, перейменував цей файл на nisenitnicsa.php (ви виберіть щось зручніше для вас).

  • Відкрийте файл wp-login.php у текстовому редакторі.
  • Використовуйте функцію «Пошук та заміна» (CTRL+F), щоб знайти всі входження wp-login.php.Знайти та замінити всі входження wp-login
  • Замініть їх на нову назву вашого файлу (наприклад, nisenitnicsa.php) та натисніть кнопку «Замінити все». Збережіть зміни.

Усього має бути 14 замін.

Крок 3

Зберігаєте зміни у файлі. Копіюєте файл назад на хостинг. Не забудьте видалити старий wp-login.php.

Крок 4

Аналогічно, знайдіть і замініть всі входження wp-login.php на nisenitnicsa.php у файлі /wp-includes/general-template.php. Зверніть увагу, що сам файл (general-template) перейменовувати не потрібно.

Тепер доступ на сторінку входу до адмінки доступний за новою адресою: http://domen.com/nisenitnicsa.php. Але він також доступний і за старими адресами, тому потрібно ще дещо налагодити.

Після оновлення WordPress, сторінка входу може втратити працездатність. Щоб виправити це, скопіюйте вміст нового файлу wp-login.php у файл-сторінки входу (зазвичай це wp-login.php) і проведіть заміну, як описано раніше.

Доступ до адмінпанелі WordPress

CMS WordPress налаштована так що в адмінку можна потрапити за декількома адресами:

http://domen.com/wp-login.php

http://domen.com/wp-admin

Остання адреса здійснює переадресацію на http://domen.com/login.php?pass=1 і ось саме цю адресу знають і атакують злі боти.

Отже, нам потрібно не тільки змінити сторінку входу, й правильно налаштувати редиректи на стандартні адреси.

Як налаштувати редирект (перенаправлення) з wp-admin та wp-login

Для налаштування редиректу використовуватимемо файл функції теми (functions.php). Але, якщо ви зміните тему, то редирект перестане працювати. Це потрібно пам’ятати.

Попередження: перед початком робіт зробіть резервну копію файлу functions.php.

Відкриваєте адміністративну панель WordPress  «Вигляд» -> «Редактор тем» -> «Функції теми» або «Theme Functions». Внизу цього файлу буде закінчення функції ( } ), або закриття коду php ( ?> ).

Якщо у вас закінчується файл таким символом( ?> ), значить видаляєте ці символи і вставляєте функції редиректу. Якщо файл закінчується черговою функцією, нижче цієї функції вставляєте запропоновані нижче коди.

Редирект с wp-admin:

/*редирект с wp-admin*/
add_action( 'init', 'blockusers_init' );
function blockusers_init() {
if ( is_admin() && ! current_user_can( 'administrator' ) &&
! ( defined( 'DOING_AJAX' ) && DOING_AJAX ) ) {
wp_redirect( home_url() );
exit;
}
}

Редирект с wp-login.php:

/*редирект с wp-login.php*/
function redirect_login_page() {
$page_viewed = basename($_SERVER['REQUEST_URI']);

if( $page_viewed == "wp-login.php?pass=1" ) {
wp_redirect( home_url() );
exit;
}
}
add_action('init','redirect_login_page');

Редирект при натисканні на кнопку «Вийти»:

/*редирект після виходу з адмін панелі*/
function logout_page() {
$login_page = home_url( 'wp-admin' );
wp_redirect( $login_page . "?loggedout=true" );
exit;
}
add_action('wp_logout','logout_page');

Ще один спосіб закрити доступ до файлу wp-login.php прописати правило в файл .htaccess додавши такий код:

<Files wp-login.php>
Order Deny,Allow
Deny from all
</Files>

Тепер можете сміливо перевіряти. Потрапити на сторінку входу та адміністративну панель ви зможете тільки за адресою домену та імені файлу, який ви створили на початку статті. У моєму випадку це nisenitnicsa.php.

Встановлюйте захист на свої сайти та спіть спокійно. Безумовно, якщо будуть питання, пишіть в коментарі, спробую допомогти.

Вам також може сподобатися

Залишити відповідь

Ваша e-mail адреса не оприлюднюватиметься. Обов’язкові поля позначені *