Защита Cookies и сессий

Проблема, с которой я столкнулся и которая может быть не решаема, заключается в следующем:

У меня есть клиент, который является крупной организацией с 1500+ пользователями в 7-8 различных местах. Приложение - это PHP-приложение, построенное на фреймворке Kohana v3.0. Организация находится за сервером прокси-фильтрации на уровне провайдера. Каждое место имеет один основной публичный IP-адрес, который проходит через прокси-сервер и попадает в Интернет. У каждого пользователя есть рабочая станция Mac или Windows, выданная работодателем.

То, с чем они сталкиваются, похоже на столкновение файлов cookie. Пример: Один пользователь входит в систему на своей рабочей станции, затем другой пользователь входит в систему с того же места, другой рабочей станции, с той же ОС и типом браузера. Второй пользователь получает активную сессию первого пользователя, получив новый сгенерированный файл cookie (маркер), который соответствует первому пользователю. Похоже, что это связано только с cookie 'authautologin' (устанавливается, когда на экране входа в систему включается флажок "запомнить меня"), но я не исключаю возможности кэширования с прокси (я пока не могу доказать, что прокси кэширует).

Из-за настройки сети сервер видит сотни пользователей, входящих в систему с одного IP-адреса с одним и тем же агентом пользователя. Моя первоначальная мысль заключается в том, что способ Kohana v3 генерировать куки, уникальные для браузера (агента пользователя), недостаточно уникален для этого реального применения.

Кто-нибудь сталкивался с подобным? И какие действия следует предпринять при генерации cookie и сессий? Может быть, управление куками и активными сессиями в базе данных будет лучше?

  • Модули Kohana: Jelly-Auth, Jelly и Auth

  • Сервер: Apache/2.2.9 (Debian) mod_fastcgi/2.4.6 mod_jk/1.2.26 PHP/5.2.6-1+lenny8 with Suhosin-Patch mod_ssl/2.2.9 OpenSSL/0.9.8g

  • Известные браузеры: IE 8 & 9, Firefox (OS и Win), и Safari (OS)

10
задан hakre 13 August 2012 в 12:12
поделиться