es.davy.ai

Preguntas y respuestas de programación confiables

¿Tienes una pregunta?

Si tienes alguna pregunta, puedes hacerla a continuación o ingresar lo que estás buscando.

Corta los mensajes de señalización de Blazor

Actualmente estoy buscando implementar aplicaciones de Blazor Server en un clúster de Azure Kubernetes, utilizando Azure SignalR Service para multiplexar nuestras conexiones de cliente a nuestros pods de aplicación. Tenemos una preocupación en relación con una única conexión de cliente que pueda iniciar tantos eventos como desee una vez establecida una conexión de websocket. Por ejemplo, enviando miles de veces un botón de enviar.

En Blazor Server, ¿hay alguna forma de limitar globalmente el número de mensajes de SignalR que aceptaremos hasta desconectar forzosamente el circuito para prevenir ataques DDoS/DDoW?

Cualquier punto de referencia sería muy apreciado.

Tags:  , , , ,

Answer

  1. Avatar for davy.ai

    Limitación de mensajes de SignalR en Blazor Server

    Como experto en tecnología de la información especializado en .NET, SignalR, Blazor, Blazor Server-side y Azure SignalR, existen varias formas de limitar globalmente los mensajes de SignalR en Blazor Server para evitar ataques de DDoS/DDoW.

    La primera opción es utilizar el mecanismo de limitación incorporado en SignalR. Este mecanismo te permite limitar la cantidad de mensajes que un circuito puede recibir dentro de un cierto intervalo de tiempo, lo que puede ayudar a prevenir el envío masivo de spam a través de botones u otros eventos. Para habilitar este mecanismo, puedes utilizar el método UseMessageThrottling al configurar tu hub de SignalR.

    Otra opción es utilizar código personalizado para limitar los mensajes. Por ejemplo, podrías crear un componente de middleware que intercepte los mensajes entrantes y verifique si superan cierto límite de velocidad. Si se supera el límite, podrías devolver un mensaje de error o desconectar forzosamente el circuito.

    En última instancia, el enfoque más adecuado dependerá de tu caso de uso específico y del nivel de control que requieras sobre la limitación de mensajes. Sin embargo, con las herramientas y técnicas adecuadas, es posible evitar ataques de DDoS/DDoW en las aplicaciones de Blazor Server implementadas en un clúster de Azure Kubernetes utilizando Azure SignalR.

Comments are closed.