2012-06-07 2 views
0

Что является самым безопасным способом хранения паролей в PHP? Я очень заинтересован в том, чтобы мои пользователи защищались при использовании моего приложения, и я хочу использовать наилучший способ хранения их паролей. Я прочитал несколько различных методов шифрования, таких как MD5, SHA1 и т. Д. Я также прочитал «соли» и хеши. Может кто-нибудь, пожалуйста, скажите мне безопасный способ хранения паролей в PHP?Что такое безопасный способ хранения паролей в PHP?

+1

sha512 и соль – zerkms

+2

Здесь мы идем снова ... Я даже не собираюсь искать дубликат для этого. «Неконструктивно». –

+1

Используйте ранее существовавшую, хорошо протестированную [хэш-библиотеку паролей] (http://www.openwall.com/phpass/). Не «сворачивай свой». – PenguinCoder

ответ

0

Сохраните свой пароль и сохраните его в базе данных. Ни при каких обстоятельствах вы не должны хранить пароль в виде обычного текста. Отбросить простой пароль один раз был хэширован.

Также используйте переменные сеанса для хранения и отслеживания сеанса пользователя. Не используйте файлы cookie, поскольку они хранятся в браузере и открыты для компрометации.

Имейте хорошую политику пароля на месте. По крайней мере, убедитесь, что для каждого пароля минимальная длина, это не словарное слово, не все числовые и представляют собой сочетание верхних и лордовых случаев с номерами, смешанными посередине. И т. Д. Политика паролей объектов Google будет много.

2

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

Microsoft имеет этот дубль:

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

  • ли имена пользователей и пароли, отправленные в незашифрованном через незащищенный канал? Если это так, злоумышленник может прослушивать с помощью сетевого мониторинга программное обеспечение для регистрации учетных данных. Контрмера здесь защищает канал связи с помощью Secure Socket Layer (SSL).
  • Как хранятся учетные данные? Если вы сохраняете имена пользователей и пароли в текстовом виде, либо в файлах, либо в базе данных, вы вызываете . Что делать, если ваш каталог приложения не соответствует настроен, а злоумышленник просматривает файл и загружает его содержимое или добавляет новую учетную запись с привилегированным именем входа? Что делать, если недовольный администратор принимает вашу базу данных имен пользователей и паролей?
  • Как проверяется верительные грамоты? Нет необходимости хранить пароли пользователей, если единственной целью является проверка того, что пользователь знает значение пароля. Вместо этого вы можете сохранить верификатор в виде хеш-значения, а перечислить хэш, используя предоставленное пользователем значение во время входа в систему . Чтобы уменьшить угрозу атаки словаря в хранилище учетных данных , используйте надежные пароли и объедините произвольно генерируемое значение соли с хэшем пароля.
  • Как идентифицированный пользователь идентифицируется после первоначального входа в систему? Требуется некоторая форма аутентификации , например, cookie аутентификации. Как защищен файл cookie ? Если он отправляется по небезопасному каналу, атакующий может захватить файл cookie и использовать его для доступа к приложению. A украденный аутентификация cookie - это украденный вход в систему.
+0

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

+0

@pst - lol, отредактировал мой ответ на закрытый вопрос – afuzzyllama

+0

Ха-ха, действительно , И я редактировал свой комментарий для закрытого вопроса ;-) –

Смежные вопросы