2011-01-07 4 views
0

Возможно, это скорее вопрос юзабилити, но это похоже на хорошую аудиторию для опроса.Должна ли сессия заканчиваться, когда браузер закрыт?

В: Должен ли пользовательский сеанс заканчиваться, когда браузер закрыт? Почему или почему нет?

Если «это зависит», пожалуйста, укажите некоторые примеры того, когда это необходимо, и когда это не должно заканчиваться при закрытии браузера.

+0

Это общий вопрос или об этом сайте или на каком-либо другом сайте в частности? – Nick

+0

Это скорее общий вопрос. Я занимаюсь разработкой интернет-магазина, и вопрос встал у меня в голове, поскольку я кодировал часть системы аутентификации пользователей. – justinl

ответ

2

Да, он должен, поскольку открытый сеанс позволяет другим проникнуть в вашу систему. Однако как вы хотите определить, закрыт ли браузер? Даже с ajax это действительно ненадежно.

Определите правильные таймауты в зависимости от типа приложения (например, банковское программное обеспечение 10 минут, браузерная игра 20 минут и т. Д.).

+0

В моем конкретном случае я использую Codeigniter, и у них есть настройка конфигурации, которая позволяет мне закончить сеанс в закрытии браузера. Я не совсем уверен, как это работает. Существует настройка для «обновления» сеанса каждые X секунд. Я уверен, что если бы я отключил количество секунд, то он заметил бы, что браузер закрыт и истекает сеанс после X секунд – justinl

2

Сессия всегда должна заканчиваться при закрытии браузера. Таким образом, если пользователь не смог выйти из системы до закрытия браузера, их сеанс не будет оставаться открытым и взломанным. Это НЕ «юзабилити», а вопрос безопасности.

+0

Настоящий трюк правильно обнаруживает, когда все окна браузера в сеансе закрыты. http://blogs.msdn.com/b/ieinternals/archive/2010/04/05/understanding-browser-session-lifetime.aspx – EricLaw

+1

Я считаю, что его плохая политика безопасности полагается на браузер, чтобы истечь сеанс как браузеры выход не всегда обнаруживается; оба браузера и компьютеры могут сбой, мощность и/или доступ в Интернет могут быть потеряны и т. д. – Nick

+0

и без javascript было бы невозможно, не так ли? так что на самом деле вы остаетесь во власти таймаута. но поскольку это вопрос «что должно быть», а не «что есть», я говорю, что они «должны» закрыть браузер. – jun

Смежные вопросы