Отличные цены на хостинг и домены!Подробнее

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

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

Логин WordPress

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

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

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

1
<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:

1
Disallow: /author/

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

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

1
2
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 следующую функцию:

1
2
3
4
5
6
7
8
9
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:

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

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

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

  1. irocez

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

    Ответить

  2. Александр

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

    Ответить

  3. Webliberty

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

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

    Ответить

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

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

    Ответить

:) ;) :D :( :cry: :| :o :P 8-) :oops: :roll: :idea:

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