Как изменить/скрыть URL административной консоли WordPress. Как изменить url wordpress
Как изменить/скрыть URL административной консоли WordPress
Для тех, кто использует WordPress, актуальным является вопрос защиты блога. Основной угрозой является взлом административной консоли блога. Это самый распространенный вид атаки, так называемый “брутфорс” – взлом учетной записи путем перебора.
Одним из самых простых, но весьма эффективным способом защиты административной консоли WP, является изменение адреса административной консоли с известного всем /wp-admin на что-то более сложное и известное лишь администраторам. Конечно, можно вообще предоставить доступ к админ. консоли только с определенных IP, но это не всегда удобно.
Изменить/скрыть URL административной консоли WP можно несколькими способами:
- Установить плагины – много ненужного функционала + замедление работы сайта
- Изменить файлы темы или CMS (переименование файла wp-login.php и т.п.) – надо помнить про все “ручные” изменения, необходимость повторять их при обновлении
- Изменить файл .htaccess web-сервера
Последний вариант показался мне самым предпочтительным, поэтому рассмотрим подробнее как необходимо модифицировать файл .htaccess. Честно признаюсь, что синтаксис и директивы, используемые ниже, сгенерированы плагином Better WP Security. Это хороший плагин для комплексной защиты блога, но лишь для скрытия URL админ. консоли, ставить его нецелесообразно.
В файл .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 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 |
# 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 |
Где:custom_admin_url – новый URL админ. консолиyoursite.com – название вашего сайта, без http://your_secret_key – секретный ключ, сложная последовательность букв и цифр. Например, 2le0snq3oiqpkl7w2frc. Секретный ключ следует придумать самому, запоминать его нет необходимости.
После добавления такого фрагмента в .htaccess:
- При попытке обратиться к yoursite.com/wp-admin ответом будет 404 ошибка
- При попытке обратиться к yoursite.com/wp-login.php ответом будет 404 ошибка
- Доступ к админ. консоли WP будет возможен лишь по следующему URL: yoursite.com/custom_admin_url
Цель достигнута!
VN:F [1.9.22_1171]
Пожалуйста подождите...
Rating: 4.5/5 (19 votes cast)
www.websphererus.com
Как изменить/скрыть URL административной консоли WordPress
Для тех, кто использует WordPress, актуальным является вопрос защиты блога. Основной угрозой является взлом административной консоли блога. Это самый распространенный вид атаки, так называемый “брутфорс” – взлом учетной записи путем перебора.
Одним из самых простых, но весьма эффективным способом защиты административной консоли WP, является изменение адреса административной консоли с известного всем /wp-admin на что-то более сложное и известное лишь администраторам. Конечно, можно вообще предоставить доступ к админ. консоли только с определенных IP, но это не всегда удобно.
Изменить/скрыть URL административной консоли WP можно несколькими способами:
- Установить плагины – много ненужного функционала + замедление работы сайта
- Изменить файлы темы или CMS (переименование файла wp-login.php и т.п.) – надо помнить про все “ручные” изменения, необходимость повторять их при обновлении
- Изменить файл .htaccess web-сервера
Последний вариант показался мне самым предпочтительным, поэтому рассмотрим подробнее как необходимо модифицировать файл .htaccess. Честно признаюсь, что синтаксис и директивы, используемые ниже, сгенерированы плагином Better WP Security. Это хороший плагин для комплексной защиты блога, но лишь для скрытия URL админ. консоли, ставить его нецелесообразно.
В файл .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 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 |
# 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 |
Где:custom_admin_url – новый URL админ. консолиyoursite.com – название вашего сайта, без http://your_secret_key – секретный ключ, сложная последовательность букв и цифр. Например, 2le0snq3oiqpkl7w2frc. Секретный ключ следует придумать самому, запоминать его нет необходимости.
После добавления такого фрагмента в .htaccess:
- При попытке обратиться к yoursite.com/wp-admin ответом будет 404 ошибка
- При попытке обратиться к yoursite.com/wp-login.php ответом будет 404 ошибка
- Доступ к админ. консоли WP будет возможен лишь по следующему URL: yoursite.com/custom_admin_url
Цель достигнута!
VN:F [1.9.22_1171]
Пожалуйста подождите...
Rating: 4.5/5 (19 votes cast)
www.websphererus.com
Как поменять URL страницы авторизации на сайте под управлением Wordpress
Я продолжаю изучать возможности файла .htaccess, а также продолжаю делиться полученными знаниями с вами.
Сегодня очередная полезная "плюшка", которая позволяет изменить адрес (URL) страницы авторизации на более запоминающийся.
Данный код написан не мной, а позаимствован у программистов как "готовое решение".
Стандартная страница авторизации на любом сайте под управлением WordPress имеет URL вида http://site.ru/wp-login/, http://site.ru/wp-login.php или http://site.ru/wp-admin/.
Для одного из моих клиентов было "напряжно" запоминать такой URL, а выносить кнопку входа на коммерческий проект не хотелось. Решение оказалось весьма простое:
RewriteRule ^login$ https://mojwp.ru/wp-login.php [NC,L]
RewriteRule ^login$ https://mojwp.ru/wp-login.php [NC,L] |
Здесь замените название моего домена на свой, а также можете вместо login (в начале кода обособленно стоит) поменять на произвольный.
Данный код сделает так, что страница авторизации будет доступна как с https://mojwp.ru/wp-login.php, так и https://mojwp.ru/login, т.е. добавляется еще один URL, через который можно попасть в админку сайта.
Вставляем приведенный код опять же в файл .htaccess, который лежит в корне сайта на хостинге. Не забудьте сделать резервную копию на всякий случай, если случайно удалите что-то лишнее.
Кто уже начал проверять на моем сайте?
Некоторые ринулись проверять данный URL на моем сайте)) Напрасно. Я привык заходить со стандартного. Подобные лучше делать тем, кто только начинает познавать WordPress.
Вставьте код прямо над этим (у вас такое должно быть по-умолчанию в .htaccess):
RewriteEngine On RewriteBase / RewriteRule ^index\.php$ - [L] RewriteCond %{REQUEST_FILENAME} !-f RewriteCond %{REQUEST_FILENAME} !-d RewriteRule . /index.php [L]
RewriteEngine On RewriteBase / RewriteRule ^index\.php$ - [L] RewriteCond %{REQUEST_FILENAME} !-f RewriteCond %{REQUEST_FILENAME} !-d RewriteRule . /index.php [L] |
Все. Поздравляю с приобретенными знаниями.
В завершении статьи хотелось бы посоветовать вам два плагина для WordPress, которые:
-
защищает ваш сайт от подбора паролей к админке - Login LockDown
-
меняет фон страницы авторизации WordPress - NpLogin
Данные плагины я рассматривал ранее. Установить первый из них я настоятельно рекомендую.
Привет. Меня зовут Виталик.
Я автор этого блога, а так же Магазина WordPress https://wp-r.ru/ и ридера блогов вебмастеров и SEO-специалистов WMSN.ru
Можешь оставить свой вопрос в комментариях к статье или предложить идею для новой статьи.
mojwp.ru