Saltar al contenido principal
Q drop
Antiabuso

Limitación de frecuencia

Resumen

La limitación de frecuencia (rate limiting) es una técnica que limita por unidad de tiempo el número de peticiones que llegan desde un origen concreto. Por ejemplo, se fija un máximo como «hasta 10 peticiones por segundo desde una misma dirección IP» y se rechazan las peticiones que lo superan. Se usa con fines muy diversos, como evitar la sobrecarga del servidor, frenar las publicaciones de spam o garantizar un uso justo de una API.

Los algoritmos principales

Hay varios algoritmos para implementar la limitación de frecuencia. El más sencillo es el de ventana fija, que reinicia el contador cada cierto tiempo (por ejemplo, cada minuto). Es fácil de implementar, pero tiene el problema de que, al cruzar el límite entre dos ventanas, pueden pasar en poco tiempo el doble de peticiones del máximo.

El método de ventana deslizante lleva siempre la cuenta de las peticiones de los últimos N segundos. Resuelve el problema del límite de la ventana fija, pero su implementación es algo más compleja. El método del cubo de fichas prepara un cubo que se rellena de fichas a un ritmo constante, y cada petición consume una ficha. Permite cierta cantidad de peticiones en ráfaga y, a la vez, evita la sobrecarga continuada.

Su uso en servicios como un buzón de preguntas

En servicios como un buzón de preguntas, también se usa la limitación de frecuencia para las preguntas anónimas. Poniendo a la frecuencia de envío desde un mismo origen un máximo que un uso normal casi nunca alcanza, se puede frenar el ritmo de las publicaciones de acoso manual sin afectar mucho a los usuarios normales.

A diferencia de la prueba de trabajo (Proof of Work) o los honeypots, la limitación de frecuencia también es eficaz contra el acoso manual de personas. Como sirve tanto contra los bots como contra las personas, es uno de los elementos que forman una defensa en varias capas.

¿Te ha resultado útil este artículo?

Términos relacionados

Artículos relacionados

¿Quieres crear tu propio buzón de preguntas?

Regístrate solo con tu correo electrónico. No necesitas contraseña.

Empieza gratis