2015-04-10 3 views
0

Есть ли какая-либо возможность в signalR, чтобы злоумышленники часто злонамеренно вызывали функции сервера, изменяя скрипты на стороне клиента.SignalR: Есть ли встроенная функция предотвращения частого вызова функций сервера?

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

ответ

0

SignalR не имеет ничего подобного, вы должны будете реализовать свою дроссельную логику в своем коде.

Если вы затем настроить CORS правильно, нормальные (*) злонамеренные пользователи не должны иметь возможность изменять свой скрипт или получить доступ к ступиц от несанкционированных доменов, так что эти 2 вещи вместе позволит вам достичь вашей цели. Но вы должны реализовать его самостоятельно.

(*) супер хакеры могут найти способ, если они действительно этого хотят.

+0

Я думаю, что для этого не нужен супер хакер. любой может легко изменить клиентские сценарии и поместить функцию send() в цикл for! Решение должно использовать некоторую отметку времени на стороне сервера, чтобы пользователь мог запускать функции в определенные предопределенные периоды. –

+0

Ну, * любой * означает порядочно умный программист. И если бы это было так просто, сеть уже была бы сломана, нет? Насколько сложно было бы взять любой скрипт, загруженный с любого сайта, и преобразовать его в систему DDOS? Это всего лишь цикл, и Ajax не требует? Неужели сеть слаба? Вы когда-нибудь видели какую-либо структуру JS вокруг, например, jQuery или Angular или что-то еще, поддерживаете то, что вы просите из коробки? Это будет одна и та же проблема, нет? Такое решение, как правило, выходит за рамки таких библиотек, и это больше логики, которые вы всегда можете построить поверх них. – Wasp

+0

Да, вы правы. Я искал решение для снижения перегрузки сервера, BTW. Я буду использовать таблицу времени. Большое спасибо. Ваша книга отлично подойдет для обучения SignalR. он действительно заслуживает того, чтобы его называли книгой повара! –

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