НОВИНКА!
Занимательная математика от Трепачёва. Присоединяйтесь к нам!
27 of 182 menu

Таблица sessions

Таблица sessions является системной таблицей Drupal, которая хранит информацию о текущих активных сессиях пользователей. Каждая запись в таблице представляет собой одну сессию, связанную с конкретным пользователем.

Поля

Поле Тип данных Описание
uid int unsigned Идентификатор пользователя (users.uid), которому принадлежит сессия. Для анонимных пользователей значение равно 0.
sid varchar(128) Уникальный идентификатор сессии. Обычно представляет собой хэш-значение, генерируемое PHP.
ssid varchar(128) Secure session ID. Дополнительный идентификатор безопасности, используемый для защиты от атак перехвата сессии.
hostname varchar(128) IP-адрес или имя хоста пользователя, с которого была создана сессия.
timestamp int Временная метка Unix последнего обращения к сессии. Используется для определения времени бездействия сессии.
session longblob Сериализованные данные сессии. Содержит переменные сессии PHP, включая информацию о пользователе и состоянии.

Как это работает

При каждом запросе к сайту Drupal проверяет наличие cookie сессии у пользователя. Если cookie существует и содержит валидный sid, система загружает соответствующую запись из таблицы sessions и восстанавливает состояние сессии.

Для аутентифицированных пользователей поле uid содержит их идентификатор, что позволяет Drupal определить права доступа и личные настройки. Для анонимных пользователей это поле имеет значение 0.

Поле timestamp обновляется при каждом обращении к сессии. Drupal периодически очищает устаревшие сессии через cron, удаляя записи, которые не обновлялись в течение заданного времени (по умолчанию 86400 секунд или 24 часа).

Данные в поле session хранятся в сериализованном виде и могут содержать различные переменные, установленные модулями Drupal в течение сессии.

Пример SQL-запроса

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

SELECT s.sid, s.hostname, s.timestamp, u.name as username FROM sessions s LEFT JOIN users u ON s.uid = u.uid WHERE s.uid = 1 ORDER BY s.timestamp DESC;

Смотрите также

  • таблицу users,
    которая хранит данные пользователей
  • таблицу watchdog,
    которая содержит журнал событий системы
  • таблицу cache,
    которая используется для кэширования данных
  • таблицу variable,
    которая хранит настройки системы
Мы используем cookie для работы сайта, аналитики и персонализации. Обработка данных происходит согласно Политике конфиденциальности.
принять все настроить отклонить