Бесплатно
Загрузите дополнение из админки вашего сайта.
Как загрузить?
Как загрузить?
Внимание, smartSessions создан для MODX 2 и не поддерживает MODX 3. Для MODX 3 существует похожее дополнение ExtSession.
Компонент smartSessions расширяет стандартный обработчик сессий modSessionHandler, добавляя следующую информацию к записям сессий:
Благодаря этому можно получить расширенную информацию о посетителях на вашем сайте, а также по разному хранить сессии, например, очищать сессии поисковых ботов чаще, чем сессии реальных пользователей, тем самым уменьшить размер базы данных.
Установка
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_empty_user_agent_gc_maxlifetime — время жизни сессий с пустым User-Agent. Как правило его можно сделать таким же как и для ботов.
smartsessions_authorized_users_gc_maxlifetime — время жизни сессий авторизованных пользователей. Вы можете увеличить его
и сделать значение больше, чем в настройке session_gc_maxlifetime.
Пример сценария настройки компонента:
— session_gc_maxlifetime — стандартное значение 604800 (7 дней);
— smartsessions_bots_gc_maxlifetime — 10800, сессии ботов хранятся 3 часа и занимают минимум места в базе;
— smartsessions_empty_user_agent_gc_maxlifetime — 10800, сессии с пустым User-Agent хранятся 3 часа и занимают минимум места в базе;
— smartsessions_authorized_users_gc_maxlifetime — 2592000, сессии авторизованных пользователей хранятся 30 суток.
Полезное
SQL запрос для просмотра количества сессий, сгруппированных по user_agent:

Подробнее о компоненте modx.pro/components/22098
Компонент smartSessions расширяет стандартный обработчик сессий modSessionHandler, добавляя следующую информацию к записям сессий:
- user_agent
- user_id — если пользователь авторизован
- ip — ip адрес
- is_bot — если user_agent принадлежит боту
Благодаря этому можно получить расширенную информацию о посетителях на вашем сайте, а также по разному хранить сессии, например, очищать сессии поисковых ботов чаще, чем сессии реальных пользователей, тем самым уменьшить размер базы данных.
Установка
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_empty_user_agent_gc_maxlifetime — время жизни сессий с пустым User-Agent. Как правило его можно сделать таким же как и для ботов.
smartsessions_authorized_users_gc_maxlifetime — время жизни сессий авторизованных пользователей. Вы можете увеличить его
и сделать значение больше, чем в настройке session_gc_maxlifetime.
Пример сценария настройки компонента:
— session_gc_maxlifetime — стандартное значение 604800 (7 дней);
— smartsessions_bots_gc_maxlifetime — 10800, сессии ботов хранятся 3 часа и занимают минимум места в базе;
— smartsessions_empty_user_agent_gc_maxlifetime — 10800, сессии с пустым User-Agent хранятся 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.2.0-pl
- Добавлен столбец is_bot в таблицу modx_smart_sessions
- Оптимизация скорости работы
- Возврат настройки session_handler_class на стандартное значение при удалении пакета
1.1.2-pl
- Исправлен баг с сохранением сессий с длинным ip
1.1.1-pl
- Добавлен en лексикон
- Добавлено управление сессиями с пустым User-Agent
- В настройку bot_signatures добавлены еще несколько сигнатур
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



Последние обсуждения в сообществе MODX.pro