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.9
function wp_get_session_token() {
$cookie = wp_parse_auth_cookie( '', 'logged_in' );
return ! empty( $cookie['token'] ) ? $cookie['token'] : '';
}