1

Firefox (3.6.18) разделяет сессию, когда приложение открывается на нескольких вкладках. Я хочу предотвратить это, на каждой открытой вкладке должен быть новый сеанс, чтобы не повредить состояние данных в сеансе.

Любая помощь в этом отношении будет высоко оценена.

2 ответа2

5

Нет проблем с Firefox или даже с той версией, которую вы упомянули. Я бы посчитал, что ваше понимание того, как браузеры отслеживают сеансовые куки, немного неполное. Браузеры всегда отправляют запрос на сервер с файлами cookie для домена сервера, который их выдал. Это не зависит от вкладки браузера, которая выпустила куки.

Если вы не хотите, чтобы сеансовые куки-файлы использовались на разных вкладках, у вас могут быть специфические для страницы идентификаторы, чтобы различать каждую страницу, отображаемую сервером для клиента. Когда соответствующая вкладка отправляет запрос обратно, она также должна отправлять специфичный для страницы идентификатор, чтобы сервер мог различать запросы, отправленные по вкладкам. Это не поможет, если пользователь скопирует ссылку с этим специфичным для страницы идентификатором с одной вкладки на другую.

Если вы хотите продолжить использование идентификаторов страницы, то все, что вам нужно сделать, - это проанализировать параметры входящего запроса для идентификатора страницы. Если ничего не существует, вы можете сгенерировать его с помощью PRNG и отправить ответ, содержащий этот идентификатор страницы на странице (например, в виде скрытого поля в форме или в URL-адресе, но не в виде файла cookie).


Примечание. Если вы ищете специальные функции браузера, Firefox 3 и 4 не имеют функции "Новый сеанс", присутствующей в IE9, которая позволила бы пользователям создавать новые сеансы через окна браузера. Кроме того, функция "Новый сеанс" в IE9 не работает, если сервер использует постоянные файлы cookie для отслеживания пользователя.

2

Ты не можешь,

Вы можете переписать URL и добавить jSessionId к каждому URL и отслеживать его вручную. но это не способ делать вещи

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .