Флажок Запомнить меня: чтобы безопасно хранить информацию для аутентификации? - PullRequest
2 голосов
/ 04 августа 2011

Я пишу HTML-страницу на стороне клиента с помощью jQuery, который вызывает веб-службы для различных действий на сервере с базой данных.

У меня есть страница входа, на которой запрашивается обычное имя пользователя / пароль, и я хочудобавить флажок «Запомнить меня».Мне было интересно, как лучше всего хранить эту информацию (имя пользователя / пароль)?Является ли печенье безопасной практикой?

Ответы [ 2 ]

3 голосов
/ 04 августа 2011

Не сохраняйте ни пользователя, ни пароль.Это ваш сайт, он не нужен для проверки пользователя, если вы сделаете соответствующие меры:

  1. Создайте новую таблицу базы данных для хранения запомненных входов в системупо крайней мере:

    • Длинный уникальный случайный идентификатор
    • Идентификатор пользователя
  2. Когда пользователь проверяет Поле Запомнить меня , создайте новую запись и отправьте длинный случайный идентификатор.

  3. Когда вы получаете запрос от анонимного пользователя, проверьте наличие файла cookie и, если необходимо,войдите в него.

Вы можете использовать в качестве дополнительных проверок безопасности, которые вы рассматриваете (сохранять даты для удаления старых имен входа, проверки IP-адресов ...), но это общая идея.

0 голосов
/ 04 августа 2011

Да, вы должны использовать куки, но только для хранения идентификатора пользователя / сессии.
Все данные (пользователь постоянно вошел в систему? И т. Д.) Должны храниться в базе данных.
Вы НИКОГДА не должны хранить пароли в файлах cookie.

...