LINUX.ORG.RU

Избранные сообщения Nibbler

2019 год и опять аутентификация...

Форум — Web-development

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

Сейчас наиболее популярно делать так: работаем только по https, при аутентификации передаем в явном виде пароль пользователя и логин (привет, man-in-the-middle!), сервер вычисляет хэш пароля, сравнивает его с хэшем из БД согласно данному логину, и высылает токен аутентификации. Далее пользователь этот токен в куках или local storage сохраняет и при авторизации каждый раз высылает его серверу. Просрочил токен - проходи аутентификацию заново.

Основных недостатка здесь два: во-первых, хоть это и сложно, но возможно на прокси-https сделать man-in-the-middle; во-вторых, требуется SSL (т.е. генерь самоподписной сертификат или покупай «кошерный»).

Может быть, есть какой-нибудь нормальный человеческий способ аутентификации, надежный как для HTTPS, так и для незащищенного соединения?

Скажем, самый простой способ: при аутентификации у сервера запрашивается случайно сгенеренный ключ. Он используется как соль: к хэшу (я надеюсь, жабоскрипт умеет sha512?) пароля добавляется эта соль и вычисляется новый хэш. Данный хэш с логином пользователя отправляются серваку. Тот делает аналогичные вычисления и сравнивает с данными из БД. Т.е фактически аутентификация заключается в запросе ключа. Через какое-то время ключ «прокисает» и надо пройти заново процедуру. Авторизация заключается в регулярной отправке серверу пары логин-хэш. В данном случае можно вообще в local storage браузера хранить хэш пароля пользователя и вообще никогда больше не требовать ввода логина/пароля (покуда пользователь не нажмет logout, в результате чего хэш пароля из local storage будет удален).

Какие косяки могут быть в этом способе?

 

OnlyAsk
()

музыка для работы

Форум — Talks

невозможно работать под метал или рок - начинаешь слушать эту долбанную гитару или даже вокал.

то ли дело ирландский фолк :) subwoofer тут искал недавно что-то типа Faolan (ты нашел таки что-то?) — все три альбома в плейлисте заслушаны до дыр, есть еще что-то такое? желательно без вокала, иначе начинает цеплять, а надо работать, а не музыку слушать :(

 

moot
()

Посоветуйте годных курсов по разработке?

Форум — Talks

В частности интересуют по .NET стеку включая кору и по фронтэнду, но лучше, конечно, нормальную контору, где всякое разное есть и можно выбрать. Сейчас занимаюсь по курсам ITVDN и мне чёт местами они очень не нравятся, хотя есть и неплохие.

 , , ,

beaver
()

Курс лекций «Современный и эффективный С++»

Форум — Development

На Хабре выложили список лекций, посвященный языку C++. Рассматриваются такие темы как: С++11, C++14, C++17, STL, метапрограммирование, неопределенное поведение.

 

Dvorak
()