wp_get_session_token()
Получает токен текущий сессии текущего пользователя из Куки logged_in
.
Работает только для авторизованных пользователей. Если пользователь не авторизован, функция вернет ''
пустую строку.
Кейсы применения
-
Проверка уникальности сессии: Можно использовать для отслеживания активных сеансов пользователя и предотвращения дублирования входов.
- Безопасность: Проверка токена сессии помогает усилить защиту от попыток взлома или захвата сеансов (session hijacking).
Этот метод часто используется совместно с другими функциями управления сессиями:
Работает на основе: wp_parse_auth_cookie()
Основа для: wp_create_nonce()
Хуков нет.
Возвращает
Строку
. Токен. Или пустую строку.
Использование
wp_get_session_token();
Примеры
#1 Демонстрация того что выводит функция
var_dump( wp_get_session_token() ); // string(43) "6nhBEF74hfMqVO1p0sdlJQ78Ui5yq85EZO8JIj31"
#2 Пример: Проверка уникальности сессии
В этом примере для текущего пользователя проверяются все его активные сессии. Если найдена сессия с токеном, отличным от текущего, все остальные сессии завершаются.
if ( is_user_logged_in() ) { $current_token = wp_get_session_token(); $all_sessions = wp_get_all_sessions( get_current_user_id() ); foreach ( $all_sessions as $token => $session_data ) { // Если найдена другая сессия, завершаем её if ( $token !== $current_token ) { wp_destroy_other_sessions(); break; } } }
Список изменений
С версии 4.0.0 | Введена. |
Код wp_get_session_token() wp get session token WP 6.7.1
function wp_get_session_token() { $cookie = wp_parse_auth_cookie( '', 'logged_in' ); return ! empty( $cookie['token'] ) ? $cookie['token'] : ''; }