new

smartSessions

Расширенное управление сессиями MODX
Версия 1.0.5-pl
Дата выпуска 07.09.2021
Загрузки 36
Просмотры 766
Внимание, этот компонент требует версию PHP 5.6 или выше! Если ваш сайт использует PHP ниже требуемого, установка этого дополнения может его сломать.
Внимание, этот компонент требует версию MODX не ниже 2.5 !
Компонент расширяет стандартный обработчик сессий modSessionHandler, добавляя следующую информацию к записям сессий:
  • user_agent
  • user_id — если пользователь авторизован
  • ip — ip адрес

Благодаря этому можно получить расширенную информацию о посетителях на вашем сайте, а также по разному хранить сессии, например, очищать сессии поисковых ботов чаще, чем сессии реальных пользователей, тем самым уменьшить размер базы данных.

Установка
1. Установите пакет из репозитория
2. В системной настойке session_handler_class поставьте значение smartSessionHandler
3. проверьте, что данные начали собираться в таблицу modx_smart_sessions. При этом таблица modx_sessions больше не используется, ее можно очистить.

Настройки
smartsessions_bot_signatures — список сигнатур поисковых ботов, разделенных вертикальной чертой, для поиска типа LIKE по полю user_agent. Добавьте сюда ботов, которые часто посещают ваш сайт.
smartsessions_bots_gc_maxlifetime — время жизни сессий ботов, указанных в настройке smartsessions_bot_signatures. Уменьшая его вы уменьшите срок хранения сессий ботов и сократите размер таблицы с сессиями.
smartsessions_authorized_users_gc_maxlifetime — время жизни сессий авторизованных пользователей. Вы можете увеличить его
и сделать значение больше, чем в настройке session_gc_maxlifetime.

Пример сценария настройки компонента:
session_gc_maxlifetime — стандартное значение 604800 (7 дней);
smartsessions_bots_gc_maxlifetime — 10800, сессии ботов хранятся 3 часа и занимают минимум места в базе;
smartsessions_authorized_users_gc_maxlifetime — 2592000, сессии авторизованных пользователей хранятся 30 суток.

Полезное
SQL запрос для просмотра количества сессий, сгруппированных по user_agent:
SELECT `user_agent`, COUNT(*) 
FROM `modx_smart_sessions` 
GROUP BY `user_agent` 
ORDER BY `COUNT(*)` DESC



Подробнее о компоненте modx.pro/components/22098

1.0.5-pl

  • Исправлена ошибка создания сессий для пользователей с длинным (>255 символов) User Agent

1.0.4-pl

  • Исправлена критичная ошибка при удалении старых сессий

1.0.3-pl

  • Изменения в установщике. Удален резолвер, который мог при удалении компонента удалить системные файлы MODX.

1.0.2-pl

  • Исправлена опечатка в классе smartSessionHandler

1.0.1-pl

  • Отдельное управление сессиями авторизованных пользователей

1.0.0-rc

  • Отдельное управление сессиями ботов
  • Автоматическое создание класс smartSessionHandler в директории /core/model/modx/

1.0.0-beta

  • First release.
  • Added user id, user agent, ip