возможно заказать разработку или сопровождение, услуги вашего сайта/блога


обновлено: 2024-02-13 в теме: Контент, шапка site
Запросто с WordPress создание и продвижение сайтов ATs media

Забыл пароль!? как зайти в админку, минуя страницу входа – авторизоваться

В статье даны варианты доступа в административную панель сайта (админку) на тот случай, если администратор (владелец) сайта забыл пару логин/пароль…

По сути, зайти в панель управления сайтом – несложно, если есть кое-какой навык управления…

Решений множество… от банального восстановления пароля, до экзотики… Но нас интересует – авторизация без изменения пароля! Требования: 1 – у нас есть доступы входа в управление аккаунтом хостинга (смену пароля через БД – рассматривать не будем). 2 – есть доступы к файлам сайта, расположенным на хостинге, к примеру, по FTP.

Узнаем об авторизации поподробнее… рассмотрим нюансы…

 


 

 

 

 

 

 

Если владелец сайта забыл пару логин/пароль для доступа в админку (либо по каким-то причинам желает авторизоваться в профиле пользователя), и у него есть доступ к файлам сайта (на хостинге, FTP), то попасть в админку не составит труда: используем функцию wp_set_auth_cookie().

 

Подробности ниже:

 

 

 

 

 

 

 

wp_set_auth_cookie()

 

 

wp_set_auth_cookie( int $user_id, bool $remember = false, mixed $secure = '', string $token = '' )

 

 

 

параметры функции:

 

возвращает...

 

ничего не возвращает.

 

$user_id

 

(целое число – обязательный параметр) ID пользователя.

 

$remember

 

(необязательное – логическое) помнить ли пользователя.?. (по умолчанию false)

 

…если установить true – куки будут сохранены две недели (14 дней), либо по умолчанию (без запоминания куки) – 2 дня.

 

$secure

 

должны ли куки-файлы администратора отправляться только через https (использовать защищённые куки). по умолчанию is_ssl () – будет проверка.

 

$token

 

Токен, который будет использоваться для файла cookie текущей сессии.

Параметр добавлен в WP 4.3…

 

 

Данная функция авторизует пользователя с указанными параметрами (ID) пользователя…

 

…используется до вывода (html) любого контента на экран – из-за того что работает с http заголовками.

 

 

Функция стартует в WP 2.5

 

местонахождение в ядре WP – wp-includes/pluggable.php

 

 

 

 

 

как зайти в консоль сайта, не открывая страницу входа – php

 

 

 

 

Чтоб войти в консоль администратора, не открывая страницу входа (если забыты пара логин/пароль сайта) – при помощи файла функций, поступаем так:

 

 

Для начала, перед авторизацией, логичнее очистить все куки аутентификаций – удалить кэш заголовков…

 

 

отработаем (и удалим) такие строки в файле функций…

 

 

nocache_headers();
wp_clear_auth_cookie();
wp_set_auth_cookie( $ID );

 

 

…далее…

 

…чтобы авторизоваться, не открывая страницу “входа на сайт”, нужно просто-напросто добавить строку показанную ниже в файл функций functions.php:

 

(id – 1 – в большинстве случаев – администратор) а значит рассмотрим пример входа (аутентификацию) в консоль администратора сайта:

 

 

wp_set_auth_cookie( '1' );

 

 

или:

 

 

$ID = 1; // ID пользователя сайта
wp_set_auth_cookie( $ID );

 

 

Авторизация (отработка функции) происходит не тут же, а после повторной перезагрузки страницы..!

 

Если известен ID пользователя сайта, и нужно войти в его профиль – измените в переменной $ID = 2; = ID пользователя.

 

 

После входа в админку, “функцию” нужно обязательно убрать!! иначе, при выходе, нарисуется такая картинка:

 

 

авторизация php

 

 

 

То есть, если не удалить строку (код), то, в этом случае авторизация будет отрабатывать по кругу… постоянно! к тому же – любой посетитель, открывший сайт в данный момент, будет авторизован!!

 

 

 

 

2 вариант авторизоваться в админке, не открывая страницу входа

 

 

 

добавляем такой код в файл функций активного шаблона:

 

 

if( isset($_GET['login_my_admin']) ){
     add_action( 'init', function(){
        $users = get_users([ 'role' => 'administrator' ]);
        wp_set_auth_cookie( $users[0]->ID ); } );
}

 

 

Всё, что потребуется, после прописки кода в файл функций, так это – перейти на любую страницу сайта и добавить к URL такой “хвостик” (в коде возможно изменить):

 

 

?login_my_admin

 

 

…после перезагрузки страницы, произойдёт автоматическая авторизация – администратор сайта ( administrator ).

 

 

 

 

Одно из преимуществ этого кода – защита, страховка…

 

Как говорилось выше: после того, как мы авторизуемся на сайте, непременно нужно удалить строки кода, иначе – любой посетитель сайта в данный момент будет авторизован!!

Однако, применяя данный код, полной автоматической авторизации на сайте не произойдёт: а для того, чтобы залогиниться, нужно добавить к любой URL ссылке сайта “хвостик”.

 

 

 

 

…или, предположим, требуется авторизоваться в аккаунте какого-то автора, редактора и пр. сайта… (требуется реже)

 

 

if( isset($_GET['login_my_admin']) ){
     add_action( 'init', function(){
        $users = get_users([ 'role' => 'author']);
        $ID = 2; // ID пользователя
        wp_set_auth_cookie( $ID ); } );
}

 

 

 

$ID = 2; – id пользователя аккаунта, в который следует войти.

 

author – автор сайта…

 

 

 

В WordPress по умолчанию имеется 6 ролей пользователей (однако возможно добавлять свои):

 

super admin – суперадминистратор – имеет право управлять сетью сайтов – в режиме мультисайт.

 

administrator – администратор.

 

editor – редактор – позволено публиковать и редактировать посты других пользователей сайта.

 

author – автор – (права ограничены) только публикует и редактиррует собственные посты.

 

contributor – участник, все его посты модерируются…

 

subscriber – подписчик – только редактирование своего профиля.

 

 

 

 

Повторяюсь: после авторизации обязательно уберите код, который использовали!

 

…далее можно смело приступать к изменению пароля собственного аккаунта прямо в админке (либо паролей пользователей).

 

 

 

как авторизоваться

 

 

 

Не забываем тюкнуть кнопочку “Выйти на других устройствах”! таким образом мы деактивируем все текущие сессии авторизации на других устройствах, браузерах…

 

 

 


...А мне остаётся только раскланяться... и пожелать полезной работы в сети

 

 

 

 

Смена эл/почты; логина пользователя (админа); пароля через Базу Данных за минуту

 

 

 

 


...вопросы в комментариях - помогу, в чём дюжу...
mihalica.ru !


Сергей Кролл -
вебразработчик ATs media - автор блога запросто с WordPress




Нажатия на кнопочки определяют Ваше высокое гражданское сознание

Поделитесь соображениями: Ваши мысли очень важны!

Внимание! Обязательные поля помечены *

  отныне доступен плагин: ats privacy policy ©