Я запустил ASP несколько месяцев назад, имея несколько лет опыта работы с PHP.
В PHP я использовал комбинацию куки-сессий PHP, куки-файлов и хранения идентификатора сессии в базе данных.
Когда человек входит в систему, идентификатор сессии записывается в файл cookie и сохраняется в столбце в базе данных.Если человек выходит из системы, файл cookie удаляется, если он забывает, это нормально, поскольку файл cookie живет только 72 часа.
После посещения сайта я проверяю наличие файла cookie.Если он существует, я вижу, существует ли идентификатор сеанса в базе данных.Если это так, у нас есть матч, и человек может продолжить свою сессию.Если не найдено совпадений, файл cookie удаляется, поскольку это, вероятно, было подделкой.
Если файл cookie отсутствует, пользователь должен войти в систему.Старое значение для идентификатора сеанса, хранящееся в базе данных, просто обновляется.
Теперь, с ASP, кажется, есть больше вариантов.Из этой статьи: http://msdn.microsoft.com/en-us/library/ms178581.aspx
* Application state, which stores variables that can be accessed by all users of an ASP.NET application.
* Profile properties, which persists user values in a data store without expiring them.
* ASP.NET caching, which stores values in memory that is available to all ASP.NET applications.
* View state, which persists values in a page.
* Cookies.
* The query string and fields on an HTML form that are available from an HTTP request.
Я, вероятно, пока что буду придерживаться своей системы баз данных Session + cookie +, но что из этих других вещей, упомянутых здесь?Они кажутся мне загадочными.Возможна ли дальнейшая комбинация, чтобы сделать вещи еще более безопасными, или это было бы просто излишним?
Моя главная проблема в том, что возможно, система Session + Cookie + Database, которую я использую, может иметь недостаток.