»  Безопасность  »  2 Способа изменить адрес входа в админку Вордпресс без плагина - Techbear

2 Способа изменить страницу входа в админку Вордпресс

2 Способа изменить адрес входа в админкуСогласно исследованию Sucuri, каждый день атаке методом перебора паролей подвергается 40 млн. сайтов на Вордпресс. Один из способов обезопасить свой сайт от таких атак — изменить страницу входа на сайт.

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

В этой статье вы узнаете 2 способа создать новую страницу для входа на сайт вместо стандартной wp-login.php с помощью нескольких строк кода. Применение этих способов занимает несколько минут и не требует установки плагина. Как изменить страницу входа в админку Вордпресс с помощью плагинов читайте здесь.

Сделайте бэкап

Чтобы изменить страницу логина, надо сделать изменения в файле .htaccess. Ошибка в одной букве может положить весь сайт, поэтому сделайте бэкап файла .htaccess и папки с темой.

Бэкап можно сделать на хостинге или с помощью плагина. Сделайте полный бэкап, или проверьте, что последний автоматический бэкап был после последних изменений на сайте.

Если у вас на сайте есть посетители, вы можете протестировать изменение URL авторизации на локальном или техническом сайте.

В первом способе вы сделаете изменения в файле .htaccess, во втором — изменения в файлах .htaccess и functions.php. После этого надо будет отключить доступ к старой странице входа в админку …/wp-login.php.

Файл .htaccess находится в корневой папке сайта, файл functions.php находится в папке темы.

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

Способ 1. Редактирование файла .htaccess

Добавьте код в начале .htaccess в одиночной установке Вордпресс и после этих строк в Мультисайт установке:

Добавьте этот код:

Измените myloginpage11 в строке 2 на свой адрес, по которому вы хотите иметь страницу входа на сайт. Если вы ничего не измените, то страница входа на сайт будет мой-сайт.ru/myloginpage11.

Измените 123456qwerty в строках 2 и 7 на что-нибудь свое. Это секретный ключ, который может содержать только латинские буквы и цифры.

Сохраните файл и проверьте сайт. Если вы получили ошибку сервера 500, значит, вы где-то допустили ошибку. Просмотрите изменения еще раз или начните заново.

Если сайт работает, но изменения не применились, сбросьте кеш в браузере и попробуйте еще раз.

Способ 2. Отредактируйте файл .htaccess и functions.php

Вставьте код в самом начале файла .htaccess в одиночной установке или после этих строк в Мультисайт установке:

Добавьте этот код:

Замените myloginpage22 на свой адрес. Если вы оставите как есть, то новый адрес входа на сайт будет мой-сайт.ru/myloginpage22.

Сохраните файл и проверьте, как работает сайт. Если у вас ошибка 500, попробуйте найти ошибку или начните сначала.

После этого можно начать пользоваться этим адресом входа в админку, но если вы хотите, чтобы Вордпресс начал везде использовать этот адрес в качестве адреса входа на сайт, надо добавить снипет в файл  functions.php дочерней темы или добавьте код в плагин, который добавит код в текущую тему.

Добавьте этот код в functions.php:

Код из форума техподдержки Вордпресс. Измените myloginpage22 на ваш адрес, который вы добавили в .htaccess.

Все готово, можно проверить. Добавьте виджет с мета информацией в сайдбар и нажмите на ссылку входа на сайт. Если вы все сделали правильно, вы должны попасть на новую страницу входа на сайт.

Как скрыть старую страницу входа на сайт wp-login.php

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

Как скрыть страницу wp-login.php от посетителей читайте здесь.

Читайте также:

  1. 5 плагинов для изменения страницы входа Вордпресс
  2. Как изменить имя пользователя Admin в Вордпресс
  3. Как создать дочернюю тему Вордпресс
  4. Как скрыть версию Вордпресс

Надеюсь, статья была полезна. Оставляйте комментарии.

7 комментариев

  1. Не понимаю в чем смысл смены, если wp-admin так же работает как и мой добавленный url, а при запрете оба не работают и редиректят на 404

    • Смысл в том, чтобы создать еще одно препятствие взломщику, если он хочет подобрать логин и пароль.
      Перед тем, как он попробует комбинации логина и пароля, ему нужно найти форму входа.

      • Так в том то и вопрос я меняю на свой кастомный урл, но и по wp-admin спокойно можно попасть на страницу авторизации. Если я делаю запрет, то я не могу попасть на страницу авторизации ни со своего урла ни с wp-admin. или я что-то делаю не так?

        • По wp-admin вы можете попасть потому что данные сохранены в браузере.
          Попробуйте в режиме Инкогнито или из другого браузера.

          • # BEGIN Hide login page
            RewriteRule ^admin-panel$ https://%{SERVER_NAME}/wp-login.php?key=6LcVm8gaAAAAAKwnZuMeyf5wTm1pO7mctxLna45&redirect_to=https://%{SERVER_NAME}/wp-admin/index.php [L]

            RewriteCond %{HTTP_REFERER} !^https://%{SERVER_NAME}/wp-admin
            RewriteCond %{HTTP_REFERER} !^https://%{SERVER_NAME}/wp-login.php
            RewriteCond %{HTTP_REFERER} !^https://%{SERVER_NAME}/login
            RewriteCond %{QUERY_STRING} !^key=6LcVm8gaAAAAAKwnZuMeyf5wTm1pO7mctxLna45
            RewriteCond %{QUERY_STRING} !^action=logout
            RewriteCond %{QUERY_STRING} !^action=lostpassword
            RewriteCond %{REQUEST_METHOD} !POST
            # END Hide login page

            # BEGIN WordPress
            # Директивы (строки) между `BEGIN WordPress` и `END WordPress`
            # созданы автоматически и подлежат изменению только через фильтры WordPress.
            # Сделанные вручную изменения между этими маркерами будут перезаписаны.

            RewriteEngine On
            RewriteRule .* — [E=HTTP_AUTHORIZATION:%{HTTP:Authorization}]
            RewriteBase /
            RewriteRule ^index\.php$ — [L]
            RewriteCond %{REQUEST_FILENAME} !-f
            RewriteCond %{REQUEST_FILENAME} !-d
            RewriteRule . /index.php [L]

            # END WordPress

            # Limit login and admin by IP
            ErrorDocument 401 /home/…/hram-kirilla-mefodiya.od.ua/www/index.php?error=404
            ErrorDocument 403 /home/…/hram-kirilla-mefodiya.od.ua/www/index.php?error=404

            RewriteEngine on
            RewriteCond %{REQUEST_URI} ^(.*)?wp-login\.php(.*)$ [OR]
            RewriteCond %{REQUEST_URI} ^(.*)?wp-admin$
            RewriteCond %{REMOTE_ADDR} !^62.16.7….$
            RewriteRule ^(.*)$ — [R=403,L]

            Вот мой код в .htaccess и с очисткой кэша и в инкогнито и с очисткой кэша в другом браузере везде нормуль заходит по wp-admin … Можете помочь найти ошибку?

            • Так сходу наверное нет.
              Попробуйте на чистом сайте добавлять и проверять по одному правилу в htaccess, начиная с #BEGIN Hide login page.
              Если не заработало, попробуйте добавить через functions.php
              Если не заработало, попробуйте плагин.

  2. Офигено ты делаешь, автор.

    «Как скрыть страницу wp-login.php от посетителей читайте здесь.» — пишешь ты. Перехожу по ссылке, что бы узнать как это сделать, а той статье ссылка на эту статью. В итоге не в одной из статей не сказано как скрыть страницу wp-login.php от посетителей. Дизлайк, отписка.

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

Techbear