Емельянов Эдуард Владимирович (eddy_em) wrote,
Емельянов Эдуард Владимирович
eddy_em

Category:

Авторизация через вебсокеты

Решил я добавить в свой вебсокет-сниппет еще и авторизацию, чтобы уж точно им можно было в реальной жизни пользоваться.
Происходит все достаточно просто. Сервер хранит MD5 пароля (в примере — просто как строковую константу). При соединении генерируется "соль" и вычисляется MD5 от строки "соль + MD5 пароля". Эта "соль" отсылается клиенту. Клиент запрашивает у пользователя пароль, вычисляет MD5 от него, присовокупляет к "соли" и отправляет серверу MD5 результата. Если все ОК, сервер посылает сообщение "authOK", если же пароль неправильный, отсылается "badpass" → клиент опять запрашивает пароль у пользователя.
MD5 введенного пароля сохраняется в localStorage (или куках, если localStorage отсутствует), чтобы не вводить пароль каждый раз. В принципе, можно добавить кнопочку "forget me", но смысла в этом не вижу. Теперь у моих веб-морд будет хоть какая-то условная безопасность.
Tags: c, snippets, websockets
Subscribe

  • DHT22/DHT11 на STM32F103

    Добил шайтана! Сначала ожидал, что нужно будет полноценным захватом ШИМ пользоваться, но т.к. в протоколе неинформативная часть имеет постоянную…

  • Свеженькие железячки

    Получил сегодня с али ожидаемые железки, в т.ч. для восстановления моей файлопомойки. Во-первых, это блок питания на 16.8В, который я брал для…

  • BMP180 на STM32F103

    Добавил еще один сниппет — работа с BMP180 (датчик температуры и давления). Опять в даташите формула для вычисления "компенсированных" значений…

promo eddy_em august 17, 2019 12:33 3
Buy for 10 tokens
Юра намедни напечатал корпус для хронометра. Для первого блина получилось неплохо: И еще немного фотографий:
  • Post a new comment

    Error

    Anonymous comments are disabled in this journal

    default userpic

    Your reply will be screened

  • 0 comments