[Решено] Множатся сессии в БД

Возникла следующая проблема: в таблице prefix_session очень много наплодилось сессий для каждого пользователя при том отличается только session_date_create и иногда IP сессии. При том для этих всех сессий пользователя session_date_last одинаковое, а это создаёт проблему для раздела /people/online, поскольку один пользователь может занимать там аж 25 первых строчок… и таким образом только он будет показан в списке.
В чём может быть проблема?

UPD. Решение 1.
Пока решил следующим образом:
В файле User.mapper.php добавил, то что отмечено:
public function UpdateSession(ModuleUser_EntitySession $oSession) {
		$sql = "UPDATE ".Config::Get('db.table.session')."
			SET
				session_ip_last = ? ,
				session_date_last = ?
			WHERE user_id = ? 
                        AND session_key = ? -- тут
		";
		return $this->oDb->query($sql,$oSession->getIpLast(), $oSession->getDateLast(),
                        $oSession->getUserId(),
                        $oSession->getSessionKey() // и тут
                );
	}

Это позволяет обновлять только текущую сессию пользователя, таким образом остальные копии (дубликаты) сессии пользователя не будут обновлены и не будут мусорить. На только почистить старые сессии из БД.

UPD. Причина.
Причиной послужило то, что когда-то был включён плагин «Remember me», который преобразовывает таблицу сессий. Но после отключения он должен всё вернуть на место, чего по какой-то причине не произошло (из-за неправильного отключения плагина: из файла plugins.dat; или из-за неисправности кода плагина; не могу быть уверен в правильном варианте).
Спасибо, vdenu .

Решение 2 (правильное).
Сделать поле user_id уникальным. Перед этим может понадобится очистить таблицу.

В самом плагине есть такой запрос:
TRUNCATE TABLE `prefix_session`; ALTER TABLE `prefix_session` DROP INDEX `user_id` , ADD UNIQUE `user_id` ( `user_id` );

Мультисессии

Обошел всё сообщество в поиске решения насущной для многих проблемы с сессиями, но не нашел. То есть проблемы, когда например залогинившись с мобильного устройства, сбрасывается сессия в браузере ПК, где мы логинились минуту назад.

Плагин Remember Me(http://goo.gl/Flc8FF) решение несерьезное — есть множество примеров (можно найти в поиске), когда его использование приводило к проблемам. К тому же складировать все сессии пользователей в БД неправильно как-то, слишком много записей. Его я в расчет даже не беру.

Здесь(http://goo.gl/oSzm7G) пользователь предлагал решение, но так как резонанс оно не вызвало, наверное его действительно не безопасно использовать.

Единственное решение, которое просится — это позаимствовать решение этой проблемы у Alto CMS(http://goo.gl/X6Smtp).

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

Данные в сессии

Добрый день!
Разработываю на LS фреймворке сайт. Столкнулся с такой проблемой.
Добавляю данные в сессию ($_SESSION). Через некоторое время данные из сессии пропадают.
Все бы ничего, если идентификатор сессии при этом менялся, а он к сожалению остается прежним.
Подскажите в какую сторону копать)

Раскрытие директории в модуле сессий

В LiveStreet CMS последней версии (1.0.2) обнаружена уязвимость, которая раскрывает пути на сервере, связанная с модулем сессий. Ошибка связана с отсутствием проверки типа значения для установки нового id сессии при подмене User Agent.

Читать дальше →

Баг при авторизации

Заметил такой вот глюк в работе движка, если пользователь вышел из сайта не завершив сессию (например просто закрыть браузер), потом снова открыть сайт набрав в адресную строку, то сайт показывает что пользователь не авторизован и при попытке авторизоваться ничего не происходит (Firebug молчит, ошибок нет), но если повторно обновить страницу пользователь сразу становиться авторизованным.

P.S. надеюсь изложил понятно)

Hacking attempt! при попытке выхода и memcache

При попытке выйти с сайта выдается Hacking attempt! В строке браузера ссылка вида:

ateist.me/login/exit/?security_ls_key=

Пробовал в разных браузерах, разными пользователями. Пробовал чистить базу сессий. Пробовал отключить механизм сессий, но при попытке сохранения тоже выдало Hacking attempt!
Последние действия установка-удаление модулей Gravatar, Userpanel. Так же пробовал включать мемкеш, потом вернул файловый кеш. После каждого действия чистил кеш шаблона и кеш в тмп.

При попытке сохранить настройки в /admin/site/settings/sys/
тоже Hacking attempt!

Помогите!

— Проблема решалась, вернул Security в автолоад. Вычитал тут в комментариях, что можно только Lang оставить для повышения скорости. Оказывается нет.

Для ускорения лучше включать memcache. Установка из портов для free-bsd
cd /usr/ports/databases/pecl-memcache
make install clean
cd /usr/ports/databases/memcached
make install clean

и обязательно
Так же желательно сделать
memcached -d -m 1024 -p 11211 -u nobody -l 127.0.0.1.

-m это сколько занимать максимум. оставьте запас.
Порт нужно указать, иначе не будет определятся на нужный нам порт и будет ошибка как тут:
Your text to link...
Тут же вроде остается прослушивание только на локалхост.