Як передавати пароль від браузера серверу, як його зберігати на сервері та перевіряти коректність
Пароль не повинен надсилатися у відкритому вигляді через мережу. Також пароль не повинен зберігатися у відкритому вигляді на сервері.
Виходить, ми повинні відправити не пароль, а хеш від нього та сіль, яким було присипано пароль при хешуванні. Але на сервері ми пароль теж не зберігаємо, а зберігаємо його хеш і сіль.
Далі я заплутався.
Ось у нас є хеш і сіль прийняті від браузера, і хеш з сіллю, що зберігаються на сервері. І? Що з цим робити?
Як перевірити, що пароль вірний?
Залежно від рівня безпеки.
Якщо розбити все це на "простіше", загальний принцип такий:
Клієнт:- вперше ввести рядок тексту - натиснути відправити - більше не вводити, бо ледар, а ми ж йому продавати зібралися, не дай боже він сука дискомфорт відчує
Локальних сховищ теж буває ціла купа: - кукіси (зберігається прямо в браузері вказаний час) - сесії (зберігається на сервері, але в кукісах є ключ до осередку в "банку", який знову ж таки можуть викрасти) - . ще десятки способів, про які знають лише круті кодери, які вважають себе крутими просто тому, що їх знають, на ділі з точки зору створення цінності людям – марні знання
Як ти розумієш, це ілюзія безпеки, а чи не гарантія.
Тут до тебе на допомогу приходить https. Https це така штука, яка двома словами може бути названа грою в партизанів. На війні грали так - коли радіопереговори прослуховувалися, а шифраторів не було - єдиним засобом захисту - було використовувати помилки в тексті та матюки.
Так і тут - дані, що відправляються у вигляді нулів і одиниць. Комп'ютери їх так само легкоперекодують у пароль, як і закодували. Щоб цього не було, придумали шифрувати рядок в один бік. Сервак має трафарет, у користувача інший трафарет. Сервак шифрує своїм, але назад можна розшифрувати тільки для користувача. Вірніше можна і стороннім звичайно, але сучасні комп'ютери зроблять це за багато років, і тому ніхто не морочиться особливо, продуктивність не та.
Таким чином сайти, де є https на даний момент найбільш надійний спосіб приховати нулі та одиниці від чувака, що сидить на прослуховуванні твого інтернет-трафіку. А потрапити він туди може від найпростіших способів на кшталт "друг, дай мені пароль від свого вайфай", до всіляких вгадувань, зломів роутерів і на крайній край - під виглядом електромонтера, встановивши маааленьку плату тобі в розподільчий щит.