Как отключить сессии пользователей для фронтэнда в Joomla?
Дано: много (100+) сайтов на Joomla 3.2+. На многие сайты приходят спам-боты, хотя делать там в принципе им нечего, практически все сайты - сайты визитки, боты же упорно ищут компоненты K2, mosets tree, jcomments и т.д. для оставления своих спам-комментариев.
Все бы ничего, но проблема в том, что на каждого бота, даже на кэшированной странице выполняются запросы на создание сессии, удаление старых сессий, апдейты сессии. При большой активности ботов (100+ хитов в минуту на каждый сайт) чисто на этих запросах (INSERT, DELETE, UPDATE к таблице #__sessions) база данных становится нагружена.
Настройка в конфигурации сайта, где можно указать Session storage особо не работает (даже если указать None, сайт продолжит общаться с таблицей #__sessions).
Есть ли какой-то способ вообще отключить во фронте пользовательские сессии?
configuration.php в корне сайта -
$lifetime : длительность сессии в минутах. Определяет время, которое пройдет до отключения пользователя, который не проявляет активности.
$session_handler : "database" или "none". Определяет обработку сессии после подключения пользователя.
укажите session_handler: none
Именно так и стоит, но в любом случае идет обращение к #__session (сам был удивлен, когда обнаружил). Проверьте, это действительно так. Долго лазил в исходниках фреймворка, но так и не понял почему так происходит.
@deadbyelpy поясню: в настройках ставите то, что вы говорите (обработчик "нет", время жизни 0), очищаете таблицу с сессиями, заходите на сайт, смотрите таблицу с сессиями - вы там есть. Более того при заходе на сайт совершено до 3 лишних запросов - выбор сессии, удаление всех сессий больше лайфтайма сессии, апдейи сессии
Поясню еще раз: ставим любой хендлер, хоть самописный. Очищаем таблицу сессий. Открываем сайт. Смотрим таблицу #__session - мы там есть. Session Handler означает лишь то, что информация из поля data будет сохраняться не в mysql, а где-то в выбранном нами месте (например в APC), но вот это "ненужное" мне общение с базой данных, а особенно не нужен тут DELETE и INSERT, всё равно останется.