Автор Тема: Запрет мультисессий  (Прочитано 2988 раз)

0 Пользователей и 1 Гость просматривают эту тему.

Оффлайн Kettel

  • Завсегдатай
  • Пользователь
  • **
  • Сообщений: 60
  • +0/-0
  • 0
    • Просмотр профиля
Запрет мультисессий
« : 07 Октября 2005, 04:07:50 »
Как запретить открывать более одного окна браузера для определенного хоста? Надо чтобы работало в IE5+.

Оффлайн CGVictor

  • теперь местный
  • Глобальный модератор
  • Ветеран
  • *****
  • Сообщений: 2511
  • +0/-0
  • 2
    • Просмотр профиля
    • http://cg.net.ru
Запрет мультисессий
« Ответ #1 : 07 Октября 2005, 15:11:07 »
Kettel
Запретить никак.
Можно использовать нечто вроде challenge-response для контроля работы только в одном окне.
Т.е. при выводе документа изменяется запись в базе. На некий id. Он же выдается в документ. Если переданный документ возвращает на сервер неверный id, значит, ранее был передан такой же (и запись в базе уже была изменена), поэтому в документ надо выдать только window.close();
Но
1) коряво, т.к. открыть можно (потом работать в двух нельзя)
2) практически всегда можно обойтись без этого
LJ: Backslashed life (rss)

Оффлайн Kettel

  • Завсегдатай
  • Пользователь
  • **
  • Сообщений: 60
  • +0/-0
  • 0
    • Просмотр профиля
Запрет мультисессий
« Ответ #2 : 07 Октября 2005, 19:59:41 »
Ок, но как хотя бы отследить что юзер открыл второе окно для того  же хоста?
К сожалению, обойтись без этого нельзя, т.к.
1) это не сайт, а веб-приложение
2) я не могу повлиять на изменение ТЗ

Оффлайн CGVictor

  • теперь местный
  • Глобальный модератор
  • Ветеран
  • *****
  • Сообщений: 2511
  • +0/-0
  • 2
    • Просмотр профиля
    • http://cg.net.ru
Запрет мультисессий
« Ответ #3 : 07 Октября 2005, 21:22:08 »
Kettel
Да если и веб приложение.
Можно формировать вывод полностью AJAx-ом, а загружать пустой документ (только с библиотекой AJAX; о, кстати, ничего выход)
Тогда проверять то же самое при обращении AJAX к серверу за данными, и отдавать только при положительной проверке id.

А запретить именно открытие - смысла нет. Я могу "тупо" запросить тот же url другим приложением.

Хотя запретить можно. Копай MSDN, плюс можно использовать открытие модального диалога: мне помнится, там были ограничения на открытие ссылок и окон.
LJ: Backslashed life (rss)

 

Sitemap 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28