Самый безопасный способ создать сеанс WebSocket, содержащий пользовательские данные - PullRequest
0 голосов
/ 28 июня 2019

Введение

Пользователи нашего веб-приложения должны войти в систему, чтобы использовать приложение. Связь использует (вдоль XMLHttpRequest) API WebSocket.

Вопросы

  1. Насколько безопасно хранить имя пользователя + пароль в <input type="hidden"> из <form> и затем отправлять их значения данных в сценарий входа в систему? Если нет, то что мы можем сделать здесь?

  2. Можно ли сохранить произвольный объект (скажем, class User {...}) в Session WebSocket, чтобы я мог ввести сценарий входа в систему:

    session.setAttribute("web_app_user", user)

    user = (User) session.getAttribute("web_app_user")

    такое, что невозможно каким-либо образом взломать веб-приложение?

1 Ответ

0 голосов
/ 28 июня 2019

Вообще говоря, пока вы используете протокол WSS (в отличие от WS), вы общаетесь с сервером в защищенном и зашифрованном виде. Тем не менее, существует множество различных методов дальнейшего обеспечения безопасности.

Я думаю, что вполне приемлемым методом является отправка имени пользователя и пароля один раз, вместе с каким-то идентификатором сеанса, уникальным для клиента. Если учетные данные подтверждены допустимым сервером, только идентификатор сеанса может быть передан вместе с дальнейшими вызовами на сервер. Это сокращает количество раз, когда вы выставляете пароль пользователя.

Возможно, вы захотите дополнительно обезопасить свой метод проверки учетных данных с помощью какого-либо криптографического алгоритма, такого как СОЛЬ .

...