Главная
Wordpress
Как изменить адрес входа в админ панель WordPress
  • 24 Мар 2015г
  • 1856
  • 7
  • Рубрика: Wordpress

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

wp-login

Доброго времени суток. 🙂

Если Вы имеете свой блог на WordPress, то рано или поздно, Вы столкнетесь с вопросом о защите своего сайта от взлома. Даже если Вы сейчас читаете эту статью и думаете, что с Вами такого не произойдет, Ваш сайт не очень популярен, да и кому он вообще надо, то Вы очень ошибаетесь.

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

ваш_сайт.com/wp-admin

ваш_сайт.com/wp-login.php

Это означает, что скорее всего, какой-то бот подбирает пароли для доступа к Вашему сайту. По своему опыту скажу, что такое у меня лично бывает 1 - 2 раза в неделю. Я периодически посматриваю логи и если обнаруживаю IP адрес, который грузит сайт обращениями к админке по несколько раз в секунду, сразу блокирую ему доступ к сайту через .htaccess. Как это делать читайте в этой статье

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

Он хорошо подходит когда есть возможность регистрации и еще лучше когда ее нет. Тогда к странице входа будете иметь доступ только Вы. Суть способа в том, чтобы изменить те адреса доступа к странице входа, что указаны Выше, на свой, абсолютно уникальный.

Если разрешите регистрацию, то конечно посетители будут знать этот адрес, но боты, которые настроены на стандартные страницы, отпадут сразу. Если регистрации нет, кроме Вас никто не попадет на страницу 100%. Чтобы изменить адрес входа на сайт WordPress, нужно открыть файл .htaccess в корне сайта, потом в конце него добавьте код, который указан ниже.

# BEGIN Hide console URL
<IfModule mod_rewrite.c>
RewriteEngine On
 
RewriteRule ^custom_admin_url/?$ /wp-login.php?your_secret_key [R,L]
 
RewriteCond %{HTTP_COOKIE} !^.*wordpress_logged_in_.*$
RewriteRule ^custom_admin_url/?$ /wp-login.php?your_secret_key&redirect_to=/wp-admin/ [R,L]
 
RewriteRule ^custom_admin_url/?$ /wp-admin/?your_secret_key [R,L]
 
RewriteCond %{SCRIPT_FILENAME} !^(.*)admin-ajax\.php
RewriteCond %{HTTP_REFERER} !^(.*)yoursite.com/wp-admin
RewriteCond %{HTTP_REFERER} !^(.*)yoursite.com/wp-login\.php
RewriteCond %{HTTP_REFERER} !^(.*)yoursite.com/custom_admin_url
RewriteCond %{QUERY_STRING} !^your_secret_key
RewriteCond %{QUERY_STRING} !^action=logout
RewriteCond %{QUERY_STRING} !^action=rp
RewriteCond %{QUERY_STRING} !^action=postpass
RewriteCond %{HTTP_COOKIE} !^.*wordpress_logged_in_.*$
RewriteRule ^.*wp-admin/?|^.*wp-login\.php /not_found [R,L]
 
RewriteCond %{QUERY_STRING} ^loggedout=true
RewriteRule ^.*$ /wp-login.php?your_secret_key [R,L]
</IfModule>
# END Hide console URL

Чтобы все заработало, нужно заменить несколько элементов. Они встречаются по несколько раз, так что будьте внимательны.

  1. custom_admin_url – это Ваш новый URL - адрес входа в админчасть и просто входа на сайт. Придумайте свой адрес. Например myadmin и тд.
  2. yoursite.com – адрес вашего сайта, без http://. Меняем на свой.
  3. your_secret_key – это нужно заменить на придуманный Вами секретный ключ. Это должна быть строка из букв и цифр написанных в случайном порядке.Например heirwzjzxeovs154ui и тд.

Теперь страница входа будет доступна по адресу ваш_сайт.com/custom_admin_url, в конце ваша новая ссылка, например - ваш_сайт.com/myadmin.

ОЧЕНЬ ВАЖНО! Иногда метод не работает. Я проверил на 2 разных хостингах, на одном сработало на втором нет. Пока что решить проблему, почему не везде работает, мне не удалось.

27.04.2016 Есть еще способ и суть его в том, чтобы изменить название самого файла. Сначала полностью закрываем доступ к wp-login.php. Чтобы этого сделать, добавьте в .htaccess следующий код:

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

Теперь в корне сайта, найдите файл wp-login.php и сделайте его копию. Копию нужно переименовать, например mylog.php. Потом открываем новый mylog.php и внутри него везде где встречается wp-login.php меняем на mylog.php. Теперь чтобы войти, нужно вбивать в адресной строке - ваш_сайт.com/mylog.php.

Возможно, после обновления WordPress, если поменяется содержимое внутри - wp-login.php, придется повторить процедуру. Но пока код не поменяяется, все будет работать. Так же иногда нет возможности выйти из учетной записи.

Теперь когда, кто-то будет пытаться зайти по старым адресам ваш_сайт.com/wp-admin и ваш_сайт.com/wp-login.php, будет попадать на страницу с 404 ошибкой. Зайти можно только по новой ссылке.

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

На этом все, спасибо за внимание. 🙂




Если Вам был полезным мой труд, можете поддержать сайт, обменяться со мной текстовыми ссылками или посмотреть рекламку, что займет 2 минуты :)


Оцените статью
  1. 5
  2. 4
  3. 3
  4. 2
  5. 1
(7 голосов, в среднем: 4.4 из 5)

Опубликовано 7 комментариев

  • Александр
    Комментариев: 1

    Добрый день. Спасибо за материал, всё сработало. Единственный момент, никак не получается создать свой адрес админки custom_admin_url - выдаёт вместо заданного мной ошибку 404, проверял код много раз - должно работать. Подскажите, что это может быть? Возможно стоит обратиться в техническую поддержку хостинга, из-за из настроек блокируется это?

    • Виталий
      Комментариев: 267

      Я в статье писал, иногда не работает. Я до сих пор не решил эту проблему. Делал такой фокус клиенту получилось все на 5+, потом хотел сделать себе, увы никак. Поэтому упомянул об этом, чтобы те у кого не получилось знали, что такое бывает.

  • Simon
    Комментариев: 5

    Как сделать что-бы при обращении к адресам:
    домен/wp-admin
    и
    домен/wp-login.php
    происходил редирект на главную страницу?
    А сам новый адрес админки был только мне известный (новый)

  • Simon
    Комментариев: 5

    Вот у меня всё получилось с кодом большим. Наконец то после длительных поисков и танцев с бубном СВЕРШИЛОСЬ!!! Что могу сказать? Работает отлично и вот так:

    1-й Секретный адрес к админке
    http://домен.ru/custom_admin_url
    2-й Секретный адрес к админке
    http://домен.ru/wp-login.php?your_secret_key

    При наборе старого адреса к админке перекидывает на страницу ошибки: нет файла ошибка
    http://divizka.ru/wp-login.php
    http://divizka.ru/wp-admin.php

    Если бы я теперь писал пояснение к этому куску кода то правильнее было бы сказать что your_secret_key и custom_admin_url выполняют по итогу функции двух секретных логинов. Логин 1 и Логин 2 Так было бы понятнее что туда писать. И есчё, секретить шибко эти слова НЕ НАДО нет смысла так как они выполняют простые функции (скрыть адрес админ панели) Подбор этих слов хоть как-то ИСКЛЮЧЕН и невозможен. И даже если во сне приснится что кто-то узнал эти слова... то его встретит та-же старая админ панель вордпресс и спросит - НУ, дорогой и сто дальше?

  • Simon
    Комментариев: 5

    Забыл сказать... только обязательно позаботьтесь что бы скрыть .htaccess от просмотра наделив его правами доступа в том -же .htaccess

    # -закрываем просмотр .htaccess:

    order allow,deny
    deny from all

  • Simon
    Комментариев: 5

    # -закрываем просмотр .htaccess:
    1.
    2.order allow,deny
    3.deny from all
    4.
    --------------------------

  • Simon
    Комментариев: 5

    В ОБЩЕМ РАЗБЕРЕТЕСЬ КОД ПОДЪЕДАЕТ В СООБЩЕНИЯХ

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

Заполните поля ниже. Ваш e-mail не будет опубликован. Обязательные поля помечены *

Уважаемые пользователи! При добавлении комментариев на сайт Вам следует соблюдать правила указанные под формой отправки комментариев.

Соблюдайте добавления комментариев

Это не спам *

Нажмите, чтобы добавить код в комментарий