Безопасно ли хранить пароли в сеансах Lithium?

Я хотел бы использовать адаптер сеанса "cookie" от Lithium. После того, как пользователь войдет в систему, я создам файл cookie с его хешированным паролем. Если этот файл cookie присутствует и хешированный пароль совпадает с паролем из базы данных, я автоматически войду в него.

Это безопасно?


хорошо, я говорю не о фактическом хэше в файле cookie, а о зашифрованном хэше. Я не хочу, чтобы кто-нибудь узнал, как выглядит этот хэш :) У Lithium есть «стратегии», которые шифруют любые данные, которые вы храните в сеансах, с помощью «секрета», поэтому хэш будет зашифрован. В основном я спрашиваю, достаточно ли хорошо шифрование Lithium. Кто-нибудь работал с литием?


person Elfy    schedule 13.01.2013    source источник


Ответы (5)


Это зависит от вашего алгоритма хеширования. Используйте соль, чтобы сделать свой хеш более безопасным:
Безопасное хеширование паролей и

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

А также можете проверить эти ссылки:
Целесообразно ли хранить хешированный пароль в файле cookie?
Безопасный хэш и соль для паролей PHP

person Siamak A.Motlagh    schedule 13.01.2013

Только если это комбинация хэшированного пароля И его идентификатора пользователя или имени пользователя. Один только пароль может существовать несколько раз и, следовательно, не уникален. Имена пользователей или идентификаторы (обычно) уникальны.

person Zim84    schedule 13.01.2013

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

person kokx    schedule 14.01.2013

Стратегия Lithium Encrypt использует bcrypt, который с практической точки зрения является лучшим из существующих (ладно, за исключением, может быть, scrypt, но дайте мне знать, когда PHP будет поставляться с ним, и я изменю свое мнение).

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

person Nate Abele    schedule 15.01.2013
comment
Чтобы пользователь оставался в системе в течение нескольких дней, если он отметил опцию «запомнить меня» при входе в систему. - person Elfy; 16.01.2013
comment
Да нет, недействительно. Независимо от того, какую схему вы реализуете (т. е. вход только с файлами cookie, что я делаю все время, или помните меня), вам никогда, никогда не нужно хранить хэш самого пароля в печенье. - person Nate Abele; 22.01.2013

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

person Joel García Verástica    schedule 14.03.2013