Как скрыть логин администратора WordPress

Имя пользователя сайта на WordPress — нужно ли его скрывать?

Рад приветствовать! Среди пользователей есть мнение, что общедоступный логин администратора сайта — это проблема, способная нанести серьёзный удар по безопасности сайта. Это миф или реальность?

Логин WordPress

Быть может опасения напрасны и никакой угрозы не существует? Вычислить имя пользователя не составит труда, информация содержится сразу в нескольких местах:

  • URL архивов автора содержит его логин,
  • комментариям зарегистрированных пользователей назначен класс comment-author-username где username является логином.

Посмотреть исходный код страницы или проинспектировать отдельный элемент достаточно просто, например, в моих комментариях можно увидеть следующий класс:

<li class="comment byuser comment-author-webliberty bypostauthor">...</li>

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

Хранение логина в открытом виде — это уязвимость?

Нет. Вспомните, что является логином при авторизации в почтовом ящике? Правильно, адрес электронной почты, вы же его не скрываете и зачастую открыто публикуете в качестве одного из способов обратной связи. Что касается WordPress, то у разработчиков есть своё видение на этот счёт, цитирую:

The WordPress project doesn’t consider usernames or user ids to be private or secure information. A username is part of your online identity. It is meant to identify, not verify, who you are saying you are. Verification is the job of the password.

Логин пользователя WordPress не является конфиденциальной или защищённой информацией и раскрытие имени пользователя не влечёт за собой потенциальной угрозы. Он предназначен для идентификации, а для защиты и верификации есть пароль, который нужно хранить в строжайшем секрете.

Вместо попытки скрыть логин выбирайте надёжные пароли.

Имя пользователя не является тайной, также как адрес электронной почты — эти сведения являются открытыми и свободно распространяются. WordPress придерживается этой логики и начиная с версии 4.5 позволяет пользователям регистрироваться с адресом электронной почты или именем пользователя.

Как скрыть логин администратора WordPress

Решили всё-таки скрыть имя зарегистрированного пользователя от посторонних глаз? Чтобы не светить логин в URL необходимо убрать все ссылки на страницу автора из архивов и карты сайта. Не лишним будет закрыть страницу автора от индексации в файле robots.txt:

Disallow: /author/

В том случае, если прямых ссылок на страницу автора на сайте не существует, то его всё равно можно вычислить по URL webliberty.ru/?author=1, где 1 — ID автора. Методом перебора чисел 1, 2, 3 и т.д. рано или поздно откроется страница, содержащая логин.

Справиться с этим поможет переадресация в файле .htaccess. Обратите внимание, 3 и 4 строки выделены — их нужно изменить, указав адрес своего сайта. В последней строке назначается целевая страница редиректа, в примере я указал главную страницу:

RewriteCond %{REQUEST_URI} ^/$
RewriteCond %{QUERY_STRING} ^/?author=([0-9]*)
RewriteRule ^(.*)$ https://webliberty.ru/? [L,R=301]
Redirect 301 /author https://webliberty.ru

Чтобы исключить логин администратора из CSS классов в комментариях добавьте в файл functions.php следующую функцию:

function remove_comment_author_class($classes) {
	foreach( $classes as $key => $class ) {
		if( strstr( $class, "comment-author-") ) {
			unset( $classes[$key] );
		}
	}
	return $classes;
}
add_filter( 'comment_class', 'remove_comment_author_class' );

На странице входа при вводе неправильного логина или пароля WordPress прямо сигнализирует о том, какие данные введены не верно. Примеры предупреждений:

  • Неверное имя пользователя
  • Введённый вами пароль пользователя неверен

Подсказки несколько упрощают задачу взломщика. В качестве дополнения поставим запрет отображения ошибок на странице авторизации, для этого дополним functions.php:

add_filter( 'login_errors', create_function( '$a', "return null;" ) );

Теперь предупреждения об ошибках не появятся. Стоит иметь в виду, что при использовании базовой аутентификации консоль администратора имеет дополнительную защиту и эти манипуляции не имеют смысла 😛

Друзья, надеюсь вы сделаете правильные выводы из статьи. Обсудим?

  1. 5
  2. 4
  3. 3
  4. 2
  5. 1
(2 голоса, в среднем: 5 из 5)
Опубликовано 12.04.2018

Комментарии

  1. irocez:

    Я вообще прячу страницу с логином, а то задолбали юные хакеры подбирать пароли

    Ответить

  2. Раньше думал над тем, как спрятать логин администратора, но потом просто сделал очень сложный пароль и теперь не парюсь по этому поводу 😎

    Ответить

  3. Webliberty:

    Все правильно, нет смысла скрывать свой логин, лучше применять иные методы защиты сайта и использовать сложные пароли.

    Если на сайте несколько авторов, то с помощью CSS можно выделить их комментарии, присваивая различные стили оформления.

    Ответить

  4. Спасибо за подсказку, теперь не возникает вопроса, как правильно сделать, есть ответ.

    Ответить

  5. Павел:

    Самым простым решением сделать сложный пароль. Устанут брутом подбирать доступ. Хотя если захотят то могут найти дырку в самом сайте, от хакеров не застрахован никто 🙁

    Ответить

  6. Мария Крупнова:

    Нужна заботиться о безопасности. Скрывать нет смысла.

    Ответить

  7. Василий:

    Надежный пароль — лучший метод защиты. Сейчас можно сгенерировать пароль такой сложности, что любой хакер устанет подбирать.

    Ответить

  8. Елена Калинина:

    Зачем прятать свой логин, если можно сделать сложный пароль, который очень сложно взломать.

    Ответить

  9. Webliberty:

    Длинный и сложный пароль не всегда гарантирует надёжность защиты. Безусловно, пароль должен удовлетворять этим требованиям, но общая защита сайта достигается совокупностью методик, включая поиск и устранение известных уязвимостей.

    Ответить

  10. Водитель:

    Большинство заражений происходит после брутфорса. А после этого все остальные методики защиты уже не пригодятся)
    Так что стоит как минимум запретить вход после трех неудачных попыток войти.
    И поменять admin всё равно стоит, как и всё дефолтное.

    Ответить

  11. Михаил:

    Прячу на всякий случай)

    Ответить

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

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

Отправляя комментарий, вы соглашаетесь с политикой конфиденциальности.