Как сервер в PHP идентифицирует пользователя по сессии?
Как известно, сессия использует cookie, чтобы определить пользователя. А что если отключить cookie ?
Тогда сервер будет определять по ip адресу и юзер агенту. Но в таком случае есть шанс перепутать пользователя, которые выходят через прокси.
Случай из жизни: Я открыл google и увидел в верхнем правом углу чужой email, этот email принадлежал моей коллеги, но она никогда не садилась за мой компьютер. Каким образом я смог авторизоваться в google под чужим аккаунтом? На работе мы выходим в интернет через прокси
"Тогда сервер будет определять по ip адресу и юзер агенту. Но в таком случае есть шанс перепутать пользователя, которые выходят через прокси."
- Нет, это не так.
Если cookies отключены, то если разрешено используется параметр url (добавляется в конец). Либо сессии не работают вообще. Никого определения по IP и useragent нет
Cache-Control: public / private / no-cache / no-store / must-revalidate / proxy-revalidate
private - говорит о том, что ответ сервера является специфическим для пользователя и не должен кэшироваться различными промежуточными прокси (разрешается кэширование браузеру пользователя).
Из-за этого мог быть такой глюк, иначе как еще к вам мог попасть cookie сотрудницы, которая не сидела с вами?
Не все что делается, делается на PHP. И уж тем более Google не связывается с пхп. А вот прокси с корявой настройкой кэширования выдает такое постоянно.