Система Входа в систему PHP с помощью Cookie и Соленых Хешей

Ответ Джека действительно полезен. Он выявляет проблему и полезен, когда не было патча. Но я предлагаю вместо редактирования банку, так как ошибка исправлена ​​в 2.6.1, чтобы загрузить ее по адресу: http://book2s.com/java/jar/o/org-eclipse-persistence-moxy/download -org.eclipse.persistence.moxy-2.6.1.html и заменить его. Не забудьте закрыть и снова открыть IDE.

18
задан luiscubal 31 December 2008 в 14:57
поделиться

3 ответа

Я хочу повторить точку Eran никогда , хранят пользовательский пароль или даже хеш пароля на сессии или cookie-данных.

В целом я реализовал помнить меня функциональность в веб-приложениях с помощью Cookie. Хорошее место для запуска для получения информации о создании "безопасной" персистентной системы входа в систему является этим сообщение в блоге на круглом аквариуме . Всесторонний ответ уже покрыт в другой ответ Переполнения стека .

, Если Вы должны иметь, гарантируют, что вход в систему безопасен, необходимо использовать https. Это вызвано тем, что cookie или сессии могут быть украдены, если они не шифруются.

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

9
ответ дан 30 November 2019 в 09:11
поделиться

Для уязвимой информации (т.е., результаты аутентификации) используют только сессии. Сессии являются сохраненной стороной сервера и гораздо менее вероятны для взлома.

Относительно времени жизни сессии, значение по умолчанию является временем жизни сеанса браузера - но можно управлять этим. Существует несколько настроек, которые влияют на это:

сессия gc_maxlifetime - эффективно управляет временем жизни сессии.

сессия gc_probability и сессия gc_divisor вместе определяют, как часто сборка "мусора" сессии произойдет.

И в последний раз - сессия cookie_lifetime управляет временем жизни сеансовых куки (cookie, который содержит идентификатор сессии, таким образом, это не должен быть tranmistted по URL). Это должно соответствовать значению сессии gc_maxlifetime.

кроме того, никогда не храните пароли на сессиях или cookie (даже в хешированном формате). Просто результаты аутентификации.

8
ответ дан 30 November 2019 в 09:11
поделиться

Сохраните идентификатор в $ _SESSION, но не храните хешированный или нехешированный пароль. После того как пользователь вошел в систему, и идентификатор сохраняется в $ _SESSION, Вам больше не нужен пароль.

0
ответ дан 30 November 2019 в 09:11
поделиться
Другие вопросы по тегам:

Похожие вопросы: