Как передавать пароль от браузера серверу, как его хранить на сервере и проверять корректность?

Привет!

Пароль не должен отправляться в открытом виде по сети.
И также пароль не должен храниться в открытом виде на сервере.

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

Дальше я запутался.

Вот у нас есть хэш и соль принятые от браузера, и хеш с солью хранящиеся на сервере.
И? Что с этим делать?

Как проверить что пароль верный?
  • Вопрос задан
  • 7863 просмотра
Пригласить эксперта
Ответы на вопрос 2
ThunderCat
@ThunderCat Куратор тега PHP
{PHP, MySql, HTML, JS, CSS} developer
Пароль не должен отправляться в открытом виде по сети.
где вы это прочитали? Пароль нигде не должен светиться при вводе и отправке, по этому парольное поле делают со звездочками, а для отправки используют метод post а не get, чтобы пароль не светился в строке браузера. Для защиты от атак mitm используют https, хотя при верном подходе это тоже не суперзащита, ключи могут перехватить, некоторую защиту дает, но если сессия обмена ключами поймана - уже можно забить на хттпс защиту.
И также пароль не должен храниться в открытом виде на сервере.
Логично, пожалуй единственная логичная строчка в посте )
Получается, мы должны отправить не пароль, а хэш от него и соль, которым был присыпан пароль при хешировании.
Не получается, мы отправляем пароль не зная соли, в этом вся соль )) Сервер принимает пароль от пользователя (открытый), хеширует его с солью(известной только серверу), и сравнивает с хранимым в базе. Если хеши совпали - пароль угадан верно )
Ответ написан
@M-ka
frontend присматривающийся к ror
Использовать шифрование на стороне клиента и сервера для общения, AES + RSA (или что другое но с подобной сутью... ).
Открытый ключ на закрытый и вперед с песней. На каждую сессию генерировать новые ключи или даже на каждую попытку... Поле ввода пароля разборное с кусков, возможно маркеры на каждую попытку передавать вместе с ключом, вводить не с кейборда, а генерить попап с рандомным положением контента, в том числе цифры без возможности прямых ссылок на таковы.... Но это все только затруднит возможность взлома... кому сильно нужно будет, тот это все разберет и получит свою возможность... Все, что на стороне клиента, все уязвимо всегда... Вопрос только в затраченных ресурсах...
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы