wp_get_session_token()WP 4.0.0

Получает токен текущий сессии текущего пользователя из Куки logged_in.

Работает только для авторизованных пользователей. Если пользователь не авторизован, функция вернет '' пустую строку.

Кейсы применения

  1. Проверка уникальности сессии: Можно использовать для отслеживания активных сеансов пользователя и предотвращения дублирования входов.

  2. Безопасность: Проверка токена сессии помогает усилить защиту от попыток взлома или захвата сеансов (session hijacking).

Этот метод часто используется совместно с другими функциями управления сессиями:

Работает на основе: wp_parse_auth_cookie()
Основа для: wp_create_nonce()

Хуков нет.

Возвращает

Строку. Токен. Или пустую строку.

Использование

wp_get_session_token();

Примеры

0

#1 Демонстрация того что выводит функция

var_dump( wp_get_session_token() );
// string(43) "6nhBEF74hfMqVO1p0sdlJQ78Ui5yq85EZO8JIj31"
0

#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 6.7.1

function wp_get_session_token() {
	$cookie = wp_parse_auth_cookie( '', 'logged_in' );
	return ! empty( $cookie['token'] ) ? $cookie['token'] : '';
}