Когда пользователь регистрируется на моем сайте, он создает 2 куки, один с идентификатором сеанса (который относится к идентификатору пользователя на бэкэнд), и помните, что cookie, который длится 3 месяца.Запомнить меня cookie, необходимо для сеанса cookie?
помнить меня печенье строится как:
userid:timeout:hash
Если хэш является HMAC SHA256 хэш userid:timeout
для предотвращения несанкционированного доступа.
Если идентификатор сеанса не существует (пользователь закрывает свой браузер и снова открывает его, чтобы файл cookie пропал, или идентификатор сеанса не существует в memcached), он просматривает куки-файл и повторно создает новый файл cookie сеанса , при условии, что он не был исчерпан, а хеш правильный.
Однако я не вижу смысла иметь сеансовый файл cookie вообще, поскольку идентификатор сеанса просто указывает на идентификатор пользователя в бэкэнд. Вместо этого я могу использовать память cookie для загрузки текущего пользователя.
Так что я думаю об утилизации сессии cookie полностью, и было бы интересно услышать некоторые мысли об этом. Оказывается ли этот подход относительно безопасным? Могу ли я сделать это лучше?
Заранее благодарен!
Любой может вычислить хэш SHA. Вам нужно использовать HMAC. – SLaks
Это HMAC, обновит вопрос – fire
У ваших пользователей нет возможности не «запомнить меня»? Что делать, если они не хотят регистрироваться в течение 3 месяцев? Они должны выйти? Я мог ошибаться, но я чувствую, что многие люди полагаются на закрытие браузера, чтобы очистить свои «незапомненные» логины, поскольку это традиционно, как это делается. –