Замена логина администратора уже после установки блога

Во время установки WordPress в качестве имени пользователя(логина) нам предлагает выбрать admin.

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

А теперь для тех, у кого WordPress уже установлен:

Запустите этот SQL-запрос через phpMyAdmin, new поменяйте на желаемый логин, а wp_ — на текущий префикс базы данных.

UPDATE wp_users SET user_login='new' WHERE user_login='admin';

Как скрыть логин пользователя со страницы архивов?

Вот вы поменяли логин пользователя и вы уже спите спокойно, однако, попробуйте набрать у вас на блоге URL: /?author=1. Упс.

Как проще всего скрыть это безобразие? Проще всего добавить в functions.php следующий код, который при использовании этого урла, а также при переходе на страницу автора, будет кидать 404. Простая и красивая реализация.

function misha_404_author_archives() {
	// тут также можно задать допустим условие, что запрет будет только для архивов администратора блога
	if ( is_author() || ( isset( $_GET['author'] ) && $_GET['author'] && !is_admin()) ) {
 
		global $wp_query;
		$wp_query->set_404();
		status_header(404);
 
	} else {
 
		redirect_canonical();
 
	}
 
}
remove_filter('template_redirect', 'redirect_canonical');
add_action('template_redirect', 'misha_404_author_archives');

Как делаю я?

Сначала я меняю ID своего пользователя, мне не нравится, когда ID администратора всегда означает единицу! Делаю это SQL-запросом в phpMyAdmin.

UPDATE myprefix_users SET ID = 5555 WHERE ID = 1;
UPDATE myprefix_posts SET post_author = 5555 WHERE post_author = 1;
UPDATE myprefix_comments SET user_id = 5555 WHERE user_id = 1;
UPDATE myprefix_usermeta SET user_id = 5555 WHERE user_id = 1;
ALTER TABLE myprefix_users AUTO_INCREMENT = 5556

В последней строке да, нужно использовать значение, которое больше вашего ID (это чтобы не было конфликтов с автоинкрементом ID при регистрации новых пользователей, ну и понятное дело, если у вас пользователи не регистрируются или вы уверены, что не наберётся 5555, то эту строку можно не трогать).

Теперь мне уже легче, однако, хоть это и добавляет напряга «взломщику», он всё ещё может подобрать мой ID и выяснить логин через ?author=5555.

Вторым шагом, избавляюсь от этой страницы вообще (обратите внимание, что у меня включены постоянные ссылки). Отправляю следующий код в .htaccess в корне сайта после RewriteEngine On и перед RewriteBase /.

RewriteCond %{REQUEST_URI} !^/wp-admin [NC]
RewriteCond %{QUERY_STRING} author=\d
RewriteRule ^ /? [L,R=301]

Отлично! Последний шаг — эта сама страница архивов /author/mishinlogin. Тут тоже логина быть не должно. В админ панели почему-то не предусмотрели это и поменять можно тоже только через базу данных. Запросом:

UPDATE myprefix_users SET user_nicename = 'MishaRudrastyh' WHERE ID = 5555;

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

Подпишитесь, чтобы раз в неделю получать свежие статьи с блога по email.

Смотрите также

Оставить комментарий / вопрос

phpjsHTMLCSSSQLПросто код
  Для того, чтобы оставить комментарий, пожалуйста, зарегистрируйтесь или авторизуйтесь на сайте.
Получайте новости блога по email или следите за мной в социальных сетях.
  • Vladislav: Подправил имеющийся у меня код, по вашим рекомендациям, миниатюры начали отображаться, но они стали очень огромными, что...

  • Миша: Лишь предложил решение. Думаю можно нашаманить и так, чтобы чисто для рубрик было, не уверен только, что обойдётся без и...

  • Алексей: так надо комментарии в рубриках, а не на страницах в category.php а не в page.php

  • Миша: Здравствуйте! Сам WordPress это не поддерживает, но можно пойти хитрым путём. Первое, что пришло мне в голову, это:...

  • Алексей: Миша, здравствуйте! Подскажите, пожалуйста, что нужно, чтобы сделать комментарии на страницах рубрик. Я когда то давно...