Techbear
Сайт для тех, кто хочет использовать Вордпресс по максимуму, но не хочет разбираться в коде.
Согласно исследованию 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-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 от посетителей. Дизлайк, отписка.