безопасность — PHP / WEB: как хранить хешированные пароли

Я понимаю, как хэшировать / солью / etc пароли на странице php. Тем не менее, я не знаю, как на самом деле хранить эти пароли

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

Надеюсь, это имеет смысл. Мне просто нужно знать, как хранить хешированные / соленые пароли на моем веб-сервере. Могу ли я просто положить их в. TXT ?? Что произойдет, если кто-то прочитает этот .txt, не может ли он просто отправить поддельный POST и сервер примет это ??

Заранее спасибо!

-1

Решение

  1. Не кладите их в .txt файл. По крайней мере, один в каталоге, доступном через Интернет. Я бы посоветовал хранить их в базе данных.

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

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

1

Другие решения

Других решений пока нет …

По вопросам рекламы [email protected]