php, есть ли безопасный способ сохранить пароль в куки? - PullRequest
0 голосов
/ 14 октября 2010

Есть ли безопасный способ хранения паролей в куки в php?

или это не рекомендуется?

спасибо

Ответы [ 6 ]

1 голос
/ 14 октября 2010

Это не рекомендуется ...

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

Рекомендуется, чтобы пользователь входил через безопасное соединение и отправлял cookie-файл сеанса в ответ. Файл cookie сеанса содержит идентификатор сеанса, который PHP автоматически сопоставит с файлом сеанса на сервере. Затем вы можете сохранить идентификатор пользователя в сеансе. Через короткое время сеанс должен прекратиться.

Сеансы автоматически управляются PHP, и вы должны воспользоваться этим.

Вот учебник о том, как использовать сеансы PHP.

1 голос
/ 14 октября 2010

Пользователь может изменить свои куки по желанию. Если вы хотите «доверять» данным в PHP, вам нужно хранить их на своем сервере, а не на компьютере пользователя. Файлы cookie также могут быть перехвачены через атаки XSS и ошибки браузера (практично, но зависит от какой-то другой дыры в безопасности), в дополнение к прослушиванию по проводам (более теоретически, но всегда будет недостатком в этой схеме).

0 голосов
/ 14 октября 2010

вы можете хэшировать данные cookie, используя sha1 () или md5 (), но лучший способ для этого - использовать сеанс для хранения данных пользователя.

0 голосов
/ 14 октября 2010

Можно было бы хешировать пароль в куки и проверять этот хеш по хешу в базе данных.Это теоретически безопасно.(Вы хэшируете, не так ли? С солью? Если кто-то взломает вашу базу данных, а вы нет, все ваши пользователи обречены.)

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

0 голосов
/ 14 октября 2010

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

Можно закодировать данные в куки, но я бы не стал делать это для чего-то важного.

Когда речь заходит о паролях, я считаю, что их вообще не следует хранить.Должен храниться только хэш пароля.

0 голосов
/ 14 октября 2010

Обычно не рекомендуется, но возможно.Вы можете зашифровать содержимое куки с расширением mcrypt.

[Редактировать август 2018] Это расширение больше недоступно.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...