2013-06-15 3 views
2

Каков наилучший способ безопасного входа в систему у пользователя и для входа пользователя в систему с помощью файлов cookie и сеансов?Рекомендации по созданию потока входа?

Например:

  1. Проверьте пароль и адрес электронной почты действительны для конкретного пользователя

  2. Установите печенье с произвольной строкой

  3. Создать сессию с одной и той же строкой произвольной

  4. Подтвердите каждый запрос пользователем, убедившись, что произвольные строки файла cookie d сессия такие же

ответ

2

Что такое лучший способ securly входа в пользователе и держать пользователь подписанный в печенье и сессиях?

Использование установленной библиотеки.

-1

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

1) Создать печенье хранения пользовательские данные и уникальный хэш
2) Создайте таблицу сеансов (в mysql db или любом другом db по вашему выбору), где уникальный хеш хранится напротив идентификатора пользователя, а также агента пользователя браузера и IP-адреса.
3) В следующий раз, когда пользователь регистрируется, что, когда пользователь входит в систему, он принадлежит одному и тому же ip, одному и тому же пользовательскому агенту. Если нет, удалите запись базы данных и повторите шаги 1 и 2.
Помимо того, что пользователь вошел в систему, он также обеспечивает лучшую безопасность, чем просто хранение в сеансах.

+0

Никогда не храните никакие фактические данные пользователя в cookie, только бессмысленные непрозрачные капли! – deceze

+0

По деталям пользователя я имел в виду, имя пользователя и имя/фамилию. Не пароли или конфиденциальные данные. – AnuragD

0

Это зависит от того, как вы определяете «создайте сеанс». Для наших целей здесь давайте определим это как «создайте хранилище данных на стороне сервера с идентификатором и установите cookie с этим идентификатором»; то есть то, что делает по умолчанию session_start(). Затем:

  1. Убедитесь, что соединение HTTPS.
  2. Проверьте учетные данные.
  3. Если это действительно так, создайте сеанс (см. Выше) с большим (псевдо) случайным идентификатором и временем истечения как можно короче, но при необходимости. Безопасность здесь происходит из-за того, что недопустимо догадки подходящих случайных идентификаторов сеансов, поэтому чем дольше они работают, тем короче их срок действия, тем лучше.
  4. Сохраните идентификатор зарегистрированного пользователя в сеансе.
  5. При каждом запросе страницы проверьте, существует ли сеанс с идентификатором из файла cookie; если это так, используйте идентификатор пользователя, хранящийся в нем, чтобы получить зарегистрированного пользователя.
  6. При необходимости хранение и проверка пользовательского агента - неплохая идея; вы не должны проверять IP-адрес, хотя это может быть законным.
Смежные вопросы