2015-05-29 3 views
0

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

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

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

Я ссылаюсь на идентификаторы соединений, которые получены на стороне сервера через Context.ConnectionId.

+1

Клиент не может выбрать или установить идентификатор соединения. Он устанавливается сервером. – kspearrin

ответ

2

№. Идентификатор соединения назначается сервером. Однако, помимо идентификатора соединения, сервер также отправляет токен подключения, который вычисляется с использованием нескольких фрагментов информации, включая идентификатор соединения. Если сервер получает запрос, в котором идентификатор соединения и токен подключения не соответствуют запросу, будут отклонены. Если вы хотите понять, как работает протокол SignalR в целом, читайте post, который я написал некоторое время назад. Если вы хотите получить более подробную информацию о идентификаторе соединения и токене подключения, прочитайте this.

Смежные вопросы