Для тех, кто использует WordPress, актуальным является вопрос защиты блога. Основной угрозой является взлом административной консоли блога. Это самый распространенный вид атаки, так называемый “брутфорс” – взлом учетной записи путем перебора.
Одним из самых простых, но весьма эффективным способом защиты административной консоли WP, является изменение адреса административной консоли с известного всем/wp-admin на что-то более сложное и известное лишь администраторам. Конечно, можно вообще предоставить доступ к админ. консоли только с определенных IP, но это не всегда удобно.
Изменить/скрыть URL административной консоли WP можно несколькими способами:
- Установить плагины – много ненужного функционала + замедление работы сайта
- Изменить файлы темы или CMS (переименование файла wp-login.php и т.п.) – надо помнить про все “ручные” изменения, необходимость повторять их при обновлении
- Изменить файл .htaccess web-сервера
Последний вариант показался мне самым предпочтительным, поэтому рассмотрим подробнее как необходимо модифицировать файл .htaccess.
В файл .htaccess необходимо вставить следующий код:
1234567891011121314151617181920212223242526 # BEGIN Hide console URL<IfModule mod_rewrite.c>RewriteEngine OnRewriteRule ^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\.phpRewriteCond %{HTTP_REFERER} !^(.*)yoursite.com/wp-adminRewriteCond %{HTTP_REFERER} !^(.*)yoursite.com/wp-login\.phpRewriteCond %{HTTP_REFERER} !^(.*)yoursite.com/custom_admin_urlRewriteCond %{QUERY_STRING} !^your_secret_keyRewriteCond %{QUERY_STRING} !^action=logoutRewriteCond %{QUERY_STRING} !^action=rpRewriteCond %{QUERY_STRING} !^action=postpassRewriteCond %{HTTP_COOKIE} !^.*wordpress_logged_in_.*$RewriteRule ^.*wp-admin/?|^.*wp-login\.php /not_found [R,L]RewriteCond %{QUERY_STRING} ^loggedout=trueRewriteRule ^.*$ /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
Отличный метод, спасибо все сработало
А это вообще дает какой то эффект в плане безопасности, просто мне кажется скрытые админки ничего особо не дает