![]() |
Вопрос по сессиям
Всем привет!
Столкнулся вот с такой проблемой. Есть сайт. Он состоит из нескольких страниц, на которых в начале любого действия выберается некий параметр, который является глобальным для всего сайта. Сохраняется в session. То есть, на одной странице юзер выбирает параметер, и работает с ним по всему сайту, пока не изменит его на кокой-нибудь странице. Но вот такая ситуация. Человек выбрал скажем параметр 111, и открывает новое окно того же браузера. В новом окне остаётся тот же параметр 111 что и в первом окне. Далее, во втором окне, юзер изменил параметер на 222 и перешел на первое окно. И сделал там, допустим, релоад странице. И вместо параметра 111 он получает из сессии новый параметр 222. Вот сам вопрос: как можно запретить изменятся этому параметру в первом окне? Нужно чтобы он оставался прежним в этом окне. Как-то можно "метить" (отслеживать) окна одного браузера? конечно можно передавать по URL, но может есть другие способы? |
Привязать параметр к окну. Для каждого окна по параметру.
А еще помни: больше окон - меньше безопасности. Работая с сессиями лучше всего использовать одно единственное окно на котором юзер к тебе зашел. |
>Привязать параметр к окну. Для каждого окна по параметру.
дык в этом вся и проблема, что нет возможности "пометить" разные окна согласно законам HTTP. Для всех окон одного браузера существуют одни и теже куки и сессии. Привязать разные идентификаторы к разным окнам браузера нельзя. Зная это, я задал этот вопрос с небольшой надеждой - а вдруг есть какой-то трюк? Народ ведь у нас умный, на всякое способен. ;) >А еще помни: больше окон - меньше безопасности. к безопасности, по-моему, это не имеет отношения. Всё зависит от "правильности" программирования >Работая с сессиями лучше всего использовать одно >единственное окно на котором юзер к тебе зашел. к сожалению, мы не можем (да и не в праве) ограничивать людей в открытии дополнительных окон. Хотя именно это помогло бы в моём случае. |
А нельзя заменить все линки открываюшее новые окна на "онклик" который будет добовлять к хотимому урлу параметр "виндоу=такойто"? А в сессии иметь хэш. У хЭша индексы - коды страниц. Также в сессию можно запихнуть код "активного" окна который будет меняться при
а) открытии нового окна, собственно б) при вызове дхмлового события "onfocus" Эта смена может происходить примерно так : -(открывается окно) -окно получив фокус бегет на скрипт и передает ему гетом кодовое название страницы (это можно зделать хитро например с помошью изображением -этот скрипт смотрит существует ли элемент в массиве сессии относящейся к имени полученному гетом. -если нет - создает -меняет переменную указывающюю на активный элемент массива. |
спасибо Падре. Очень интересная идея. Правда существует проблема: человек может захотеть просто открыть ещё один экземпляр страницы в новом окне, например нажатием CTRL+N (File->New) или в другом каком-нибудь браузере иным способом. Поэтому не получится передать параметер также как при "онклик"
Думаю, в моём случае более правильно будет не хранить данные в сессиях, а передавать все по URL. И менее геморно, и более надёжно. |
| Часовой пояс GMT +4, время: 03:10. |
Copyright © 1999-2008 Flasher.ru. All rights reserved.
Работает на vBulletin®. Copyright ©2000 - 2026, Jelsoft Enterprises Ltd. Перевод: zCarot
Администрация сайта не несёт ответственности за любую предоставленную посетителями информацию. Подробнее см. Правила.