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 от посетителей читайте здесь.
Читайте также:
- 5 плагинов для изменения страницы входа Вордпресс
- Как изменить имя пользователя Admin в Вордпресс
- Как создать дочернюю тему Вордпресс
- Как скрыть версию Вордпресс
Надеюсь, статья была полезна. Оставляйте комментарии.
Не понимаю в чем смысл смены, если 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
Если не заработало, попробуйте плагин.
Офигено ты делаешь, автор.
«Как скрыть страницу wp-login.php от посетителей читайте здесь.» — пишешь ты. Перехожу по ссылке, что бы узнать как это сделать, а той статье ссылка на эту статью. В итоге не в одной из статей не сказано как скрыть страницу wp-login.php от посетителей. Дизлайк, отписка.