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

Предисловие

Доброго времени суток, друзья. В этой статье речь пойдет о безопасности вашего сайта в интернете. Точнее говоря, я расскажу вам, как изменить страницу входа в админ. Панель WordPress. Что вам это даст? Это, как минимум, избавит вас от ботов, которые  нагружают работу сервера и конечно стремятся взломать ваш сайт. Ну и от всяких плохишей, которые так и норовят завладеть вашим сайтом.

Вход в админ панель.

Для того, что бы войти в админ. Панель WordPress, как правило, к адресу (url) своего сайты вы дописываете wp-admin. Получается у вас что-то типа : http://mysite.com/wp-admin.
Введя такой адрес, абсолютно любой может перейти на страницу а админ панель и методом подбора попытаться получить доступ к вашему сайту.
wordpress

Рис.1. Вход в админ панель

В интернете есть масса информации про редирект со страницы wp-admin. И достаточно много полезной информации, которая позволяет отсеивать любопытных посетителей, которые еще не знают, что вход в админ. панель осуществляется по адресу: http://mysite.com/wp-login.

Следующий скриншот нам прекрасно демонстрирует переадресацию, когда мы вводим http://mysite.com/wp-admin, а нас перекидывает на http://mysite.com /wp-login.php?pass=1 ( в моем случае url немного длиннее).

wordpress

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

И вот этот самый адрес, атакую боты, и в свою очередь нагружаю работу вашего сайта. Вывод, нам нужно изменить страницу входа.

Меняем страницу входа в админ панель WordPress

Для того что бы нам изменить страницу входа в админ. панель нам понадобится файол, который отвечает за вывод формы для доступа в панель. Называется он wp-login.php. Вам надо скачать через файловый менеджер или ftp. Когда мы скопировали его к себе на компьютер, нам нужно его переименовать. Подберите имя так, что бы в дальнейшем вам было удобно использовать для входа в админ. панель. Желательно что бы оно было еще довольно сложным. Я назову его 123.php (это как называть не надо).
Теперь откройте файл через редактор Notepad++, нажмите сочетание клавиш ctr+F и перейдите к закладке «заменить». В поле «найти» введите старое название файла wp-login.php , а потом в поле ниже «Заменить на» напишите новое название файла – 123.php, и нажмите кнопку «Заменить все».
wordpress

Рис.3. Заменяем названия в файле wp-login.php

Всего у вас должно быть 12 замен. Потом сохраняем и закидываем файл обратно на хостинг.

wordpress

Рис.4. Смотрим сколько произошло автозамен

Теперь вы можете осуществлять вход в админ панель по адресу http://mysite.com/123.php .
Но, страницы http://mysite.com/wp-admin и http://mysite.com/wp-login до сих пор доступны. А это означает,  что нам нужно исключить доступ к админ. панели по старым адресам.

Настраиваем редирект (переадресацию) с wp-admin и wp-login.

Что бы по старым адресам вход в панель был не доступен и не выдавало 404 ошибку, нам нужно будет просто настроить редирект.
Для этого нам нужно открыть файл function.php.

Перед началом работы, сделайте резервную копию function.php

Открываем нашу админ. панель WordPress – «Внешний вид» — «Редактор» — «Функции темы». Пролистываете в самый низ файла. И в конце, вставляем код, который написан ниже.

Редирект с 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;

 }

 }

Теперь после того, как вы вставили этот код, будет происходить переадресация с адреса с http://mysite.com/wp-admin на http://mysite.com.

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

/*редирект с 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');

Будет аналогичный редирект с http://mysite.com/wp-login.php на http://mysite.com.

Редирект при выходе из админ. панели:

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

Это для того что бы при выходе зарегистрированных пользователей, в адресной строке не оставался лишний мусор.
В итоге все будет выглядеть примерно вот так.

редирект wordpress

Рис.5. Итог копирование кода в function.php

Итак, если вы все правильно сделали, как я описал выше, ПОЗДРАВЛЯЮ, теперь вы сделали ваш сайт еще более безопасным.
Удачи вам и по меньше ботов на сайте =)

 

Оставьте ответ

comment-avatar

*