← Назад в «Блог»
389

Как изменить страницу входа в админ панель WordPress

Привет, друзья!
В этот статье разберем как обезопасить сайт на Wordpress и запретить посторонним пользователям заходить на страницу входа в админ панель.

Почему это сделать нужно?

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

Как изменить страницу входа в админ панель Wordpress 1
панель антивируса на dev-postnov.ru

В чем суть?

Старый файл входа в админ-панель скопируем, заменим данные, переименуем и загрузим обратно. Название будущего файла — адрес для входа в админ панель. После этого сделаем так чтобы по wp-admin, wp-login.php нельзя было зайти на сайт.

Это была карта статьи, теперь подробнее о каждом шаге.

Вам нужно зайти на ваш сайт через файловый менеджер или через ftp-соединение. В корне сайта найдите файл wp-login.php

Как изменить страницу входа в админ панель Wordpress 2
нашли файл на хостинге

Скопируйте его себе на компьютер или продублируйте в той же папке.

Как изменить страницу входа в админ панель Wordpress 3
продублировали файл

Теперь открывайте файл в своем редакторе. Нам необходимо заменить строки wp-login на имя, которое будет названием страницы входа в админ панель.

Если вы хотите входить, а админку по адресу yousite.ru/mygrandmother, wp-login нужно менять на mygrandmother

Как изменить страницу входа в админ панель Wordpress 4
нашли все совпадения с wp-login

Теперь нужно заменить их на наше название, в данном случае mygrandmother

Заменили? Молодцы 🙂
Теперь переименуем файл, который редактировали в mygrandmother. php

Как изменить страницу входа в админ панель Wordpress 5
новый переименованный файл

Заходим на сайт чтобы проверить работу нашей новой страницы.

Как изменить страницу входа в админ панель Wordpress 6
Проверили новый адрес входа в админ-панель

Готово! Теперь любопытные носы вряд-ли будут околачиваться на этой странице. Они попросту не догадаются об ее названии.

Что мы сделали?

  • Откопировали файл wp-login.php. В копии заменили wp-login на mygrandmother.
  • После замены переименовали файл в mygrandmother. php

Вместо mygrandmother можете использовать любое имя, которое вам по душе.

Что дальше?

/mygrandmother.php работает, но по адресам wp-admin, wp-login все еще можно зайти. Нам нужно сделать перенаправление (редирект) с этих страниц на главную страницу.

Для добавления редиректа нам нужно найти файл functions. php в теме сайта.
Все темы сайта лежат по адресу: ваш-сайт.ru/wp-content/themes/

Как изменить страницу входа в админ панель Wordpress 7
нашли файл functions. php

Открываем файл function. php и идем в самый конец файла.

Файл может заканчиваться таким символом: ?>.
Если он есть — нужно будет вставлять код там.

Как изменить страницу входа в админ панель Wordpress 8
Место для вставки кода

Если нет, добавляйте просто в конец файла.

Код для редиректа с 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( '/404/' ) );
        exit;
    }
}

Код для редиректа с wp-login.php:

/* ============================
    Редирект с wp-login.php
=========================== */

add_action('init','redirect_login_page');


function redirect_login_page() {
    $page_viewed = basename($_SERVER['REQUEST_URI']);
    $result = strpos($page_viewed, 'wp-login.php');


    if($result !== false) {
        wp_redirect( home_url( '/404/' ) );
        exit;
    }
}

Заменяем все ссылки с wp-login на нашу страницу

/* ============================
    Смена адресов на новый
=========================== */

add_filter('site_url', 'wplogin_filter', 10, 3);

function wplogin_filter( $url, $path, $orig_scheme ) {
    $old = array( "/(wp-login.php)/");
    $new = array( "mygrandmother.php");
    return preg_replace( $old, $new, $url, 1);
}

Вот что получилось в итоге:

/* ============================
    Редирект с 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( '/404/' ) );
        exit;
    }
}




/* ============================
    Редирект с wp-login.php
=========================== */

add_action('init','redirect_login_page');


function redirect_login_page() {
    $page_viewed = basename($_SERVER['REQUEST_URI']);
    $result = strpos($page_viewed, 'wp-login.php');


    if($result !== false) {
        wp_redirect( home_url( '/404/' ) );
        exit;
    }
}


/* ============================
    Смена адресов на новый
=========================== */

add_filter('site_url', 'wplogin_filter', 10, 3);

function wplogin_filter( $url, $path, $orig_scheme ) {
    $old = array( "/(wp-login.php)/");
    $new = array( "mygrandmother.php");
    return preg_replace( $old, $new, $url, 1);
}

Если вы поменяете тему, перенаправления не будет, так как файл functions. php будет другой. Чтобы все работало в новой теме, нужно перенести код редиректа.

Теперь на страницу входа в админ панель можно будет зайти только по адресу mygrandmother. C wp-admin и wp-login нас будут переводить на главную страницу.

Полезно
1
Непонятно
Поделиться
Отправить
Линкануть
Вотсапнуть

Канал о фрилансе

Там я делюсь фишками о фрилансе: деньги, клиенты, автоматизация, фриланс. Раньше это был закрытый материал с платным доступом. Сейчас он открыт. Иногда подписчикам будет открываться платные материалы. Подписаться

← Назад в «Блог»

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *