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

WordPress

Для тех, кто использует WordPress, актуальным является вопрос защиты блога. Основной угрозой является взлом административной консоли блога. Это самый распространенный вид атаки, так называемый “брутфорс” – взлом учетной записи путем перебора.

Одним из самых простых, но весьма эффективным способом защиты административной консоли WP, является изменение адреса административной консоли с известного всем/wp-admin на что-то более сложное и известное лишь администраторам. Конечно, можно вообще предоставить доступ к админ. консоли только с определенных IP, но это не всегда удобно.

Изменить/скрыть URL административной консоли WP можно несколькими способами:

  • Установить плагины – много ненужного функционала + замедление работы сайта
  • Изменить файлы темы или CMS (переименование файла wp-login.php и т.п.) – надо помнить про все “ручные” изменения, необходимость повторять их при обновлении
  • Изменить файл .htaccess web-сервера

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

В файл .htaccess необходимо вставить следующий код:

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

Как скрыть или изменить адрес административной консоли WordPress: 2 комментария

  1. А это вообще дает какой то эффект в плане безопасности, просто мне кажется скрытые админки ничего особо не дает

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

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