Это компонент для MODX Revolution, который заменяет стандартный обработчик сессий modSessionHandler, добавляя следующую информацию к записям сессий:
- user_agent
- user_id — если пользователь авторизован
- ip — ip адрес
Благодаря этому можно получить расширенную информацию о посетителях на вашем сайте, а также по-разному хранить сессии, например, очищать сессии поисковых ботов чаще, чем сессии реальных пользователей, тем самым уменьшить размер базы данных
- Установите пакет из репозитория (или соберите сами из исходников)
- В системной настойке
session_handler_class
поставьте значениеsmartSessionHandler
- Проверьте, что данные записываются в таблицу
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.
SQL запрос для просмотра количества сессий, сгруппированных по user_agent (поможет узнать каких сессий больше всего у вас на сайте):
SELECT `user_agent`, COUNT(*)
FROM `modx_smart_sessions`
GROUP BY `user_agent`
ORDER BY `COUNT(*)` DESC