Ведение сессии после закрытия браузера - PullRequest
1 голос
/ 07 июля 2011

Как реализовать безопасное ведение сеансов. Предположим, что только страница входа использует SSL. Таким образом, пользователь вводит свой пароль username и http-сервер проверяет, что он находится в базе данных и что теперь?

Устанавливает ли он какое-нибудь печенье? Если это так, то какой файл cookie должен быть установлен для обеспечения безопасности (зашифровано, какой тип шифрования)? Ищете подробный ответ низкого уровня. Я слышал, что существуют разные проблемы с угонами файлов cookie. Если я использую только SSL для входа в систему, но после этого не буду использовать SSL, будут ли cookie уязвимы?

Затем, после закрытия браузера и возвращения пользователя, как cookie идентифицирует имя пользователя. Как это безопасно сделать без кражи cookie?

1 Ответ

1 голос
/ 07 июля 2011

Вы определенно подвергаете своих клиентов краже сеанса, если ваше соединение не всегда зашифровано .

HTTP - это протокол без сохранения состояния, поэтому единственный способ подделать взаимодействие с состоянием состоит в том, чтобы клиент и сервер отправляли идентификатор сеанса с каждой транзакцией. Если это не защищено, его можно легко украсть. Поскольку идентификатор сеанса является токеном аутентификации only во время открытого сеанса, это катастрофически.

Обычный способ создать функцию «запомнить меня» состоит в том, чтобы установить файл cookie, срок жизни которого не ограничен временем жизни программы браузера (т. Е. Путем установки явной даты истечения срока действия), и сохранить некоторые уникальные данные в файле cookie, который вы сопоставьте с некоторыми данными запоминания (включая, возможно, IP) в вашей базе данных. Но это не освобождает вас от необходимости шифровать все коммуникации!

...