Используя Socket.IO, чтобы предотвратить угон на стороне клиента при отправке событий JavaScript - используйте SignalR? - PullRequest
2 голосов
/ 06 марта 2012

Используя Socket.IO, клиенты получают уведомление, когда другие клиенты выполняют определенные действия, посредством вызова JavaScript серверу Socket.IO.

Это сообщение передается всем клиентам, и логика на стороне клиента решает, ктовидит уведомление.(Другой вариант для этого - поддерживать набор связанных клиентов на сервере и только отправлять () этим клиентам - лучше?).

Как будет построена система, чтобы кто-то не смог захватитькод и отправка повторных уведомлений на сервер?(что-то вроде токенизированной отправки?) Простого использования идентификатора сеанса было бы недостаточно, поскольку кто-то мог бы законно войти в систему, а затем использовать этот сеанс, чтобы попытаться завершить работу системы.

Вместо того, чтобы использовать JavaScript для этого (избегаявозможность перехвата на стороне клиента), другой подход может заключаться в использовании SignalR для отправки уведомлений из сценария с выделенным кодом.Все еще исследую этот вопрос, но приветствуются некоторые обсуждения / предложения.

Спасибо.

1 Ответ

0 голосов
/ 06 марта 2012

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

Что касается второго вопроса: вы говорите, чтоВы хотите защитить от DoS-атаки ?Как правило, нет решения для этого.Одна вещь, которую вы можете сделать, это заставить сервер отслеживать, что излучает данный пользователь, и отключать пользователя, если он плохо себя ведет (что бы это ни значило :)).

А что связывает перехват на стороне клиента с изменением JavaScript начто-то другое?Если вы отправляете данные клиенту, а затем клиент отправляет их обратно, то использование или отсутствие JavaScript * не делает никакой разницы для хакера.

Это мой совет для вас.

...