Я использую функцию PHP 5.5+ password_hash() для хэширования моих паролей перед хранением в базе данных. Все идет нормально.Password_hash() необходимо предварительно хешировать перед отправкой?
Чего я немного не уверен в необходимости предварительной передачи пароля, который он отправил из формы, в мой PHP-скрипт.
Теперь форма представить процедуру, (в короткие сроки), как это сделано:
- HTML-файл, который содержит форму вызывает скрипт контроллера в методе формы = «..» -> скрипт
- Controller получает вызов и выбирает правильную функцию ->
- выполнение функции и хранение в базу данных.
Таким образом, в основном вызов отправляется через три файла из представления на хранение.
Я думаю, что где-то вдоль линии данные могут быть захвачены и видны на виду, поскольку хеширование выполняется в третьем и последнем файле.
Должен ли я беспокоиться и каким-то образом хешировать пароль с помощью JavaScript во время первоначальной подачи формы или это безопасно? Конечный сайт, скорее всего, будет использовать SSL-сертификат, но все же я не уверен на 100%, если я в безопасности или нет.
Если хэш пароль в браузере перед отправкой его на веб-сервер, а затем снова на сервере, вы почти наверняка ослабляете пароль, который в конечном итоге хранится, потому что начальный хэш уменьшит энтропию пароля .... и если вы отправляете через SSL, то ваша безопасность между браузером и веб-сервером обрабатывается SSL, поэтому в браузере не нужно хешировать. –
Все скрипты PHP выполняются в один экземпляр интерпретатора. Не-проблема в основном заключается в том, как PHP читает данные формы/POST; если * был * файл атташе, создается временный файл (маловероятно для большинства форм входа). Вы, вероятно, спрашиваете о том, что неподписанный пароль передается через HTTP? Это разрешимо только для TLS. – mario
Я пойду с решением, которое у меня есть сегодня, и надеюсь на лучшее. Спасибо за ваше время. – Markus