Как безопасно хранить файлы cookie, содержащие конфиденциальные данные, в PHP?

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

1 )Является ли использование регистрационной соли хорошей идеей, если она статическая, или мне следует каждый раз генерировать другую соль для файла cookie?

2 )Если кто-то получит доступ к файлам cookie и скопирует их на другой компьютер, а затем попытается получить доступ к веб-сайту с этого компьютера, теоретически он автоматически войдет в учетную запись этого пользователя, разве это не безопасность? проблема?

3 )В сценарии, когда какой-либо пользователь со злыми намерениями должен был получить доступ к базе данных, безопасный веб-сайт будет иметь засоленные и хешированные пароли, из-за чего хакеру будет довольно сложно получить доступ к нескольким учетным записям (, если вообще ). Но, просто поэкспериментировав со значениями хеша и соли и создав файл cookie, который соответствует значениям, которые они изменили в базе данных, они могут эффективно получить доступ к любой учетной записи, которую они хотят, делая весь процесс хеширования пароля -бесполезным.. Поэтому,этот подход к файлам cookie, который я использую сейчас, ставит под угрозу всю мою базу данных и учетные записи всех моих пользователей.

Итак, мой вопрос: как мне сохранить файл cookie в PHP с конфиденциальной информацией, такой как хэш пароля пользователя, не беспокоясь о вышеупомянутых проблемах? Конечно, такие веб-сайты, как Gmail и Hotmail, которые предлагают эту функцию «Оставаться в системе», придерживаются более безопасного подхода, чем то, что я делаю сейчас, так как бы они это сделали?

6
задан Community 23 May 2017 в 12:09
поделиться