Управление длительными сессиями пользователей

Для таких сайтов, как Facebook и stackoverflow, где вы можете повторно посетить сайт после месяца отсутствия и все еще быть в системе — эти сайты просто устанавливают длительный тайм-аут сеанса, а затем сохраняют данные вашего сеанса за этот период, или они используют какой-то другой метод, чтобы включить оставаться в системе в течение длительного периода времени?

У меня есть сайт с аналогичным требованием, и я хотел бы знать, что другие делают в этих случаях. Очевидно, что это плохой подход для любого сайта, который разрешает доступ к конфиденциальной информации, и Facebook и другие подвергались критике в такой степени. Для моих целей мое приложение не предоставляет доступ к информации о пользователе, кроме имени/фамилии.

Заранее спасибо за участие!


person Dan    schedule 02.12.2011    source источник


Ответы (1)


Нет, они не используют долгосрочную сессию. Это привело бы к слишком большому потреблению памяти на сервере, и сеансы очищались бы на стороне клиента, как только закрывался браузер.

Вместо этого они используют постоянный файл cookie и используют его для идентификации посетителя при повторном посещении.

Gmail описывает это в своей документации. Это довольно распространенная практика. (Относительно того, является ли это хорошей практикой для сайтов, которые должны быть защищены, остается открытым.)

Погуглив, вы можете найти сотни примеров сайтов с похожими документами об использовании этого метода:

печенье "помни меня"

Вы не упомянули свою платформу (ASP.NET, php и т. д.), но для ASP.NET daniweb описывает, как это сделать: http://www.daniweb.com/web-development/aspnet/threads/30505 Аналогичные рекомендации существуют для большинства платформ.

person David    schedule 02.12.2011