El Rate Limiting es una característica fundamental en Laravel que nos permite controlar la cantidad de solicitudes que un usuario puede realizar a nuestras rutas en un período determinado. Esta funcionalidad es esencial para:
Proteger nuestras APIs de abusos
Gestionar el consumo de recursos
Implementar niveles de servicio (por ejemplo, para usuarios gratuitos vs premium)
Prevenir ataques de fuerza bruta
Definiendo Rate Limiters
Laravel nos permite definir nuestros limitadores de tasa en el método boot de nuestro App\Providers\AppServiceProvider. La sintaxis es clara y expresiva:
En este ejemplo, estamos definiendo un limitador llamado 'api' que permite 60 solicitudes por minuto por usuario (o dirección IP para usuarios no autenticados).
Personalización del Rate Limiting
Una de las características más potentes del Rate Limiting en Laravel es su flexibilidad. Podemos:
1. Definir Respuestas Personalizadas
2. Implementar Límites Dinámicos
3. Segmentar Límites
Múltiples Rate Limits
Podemos definir múltiples límites para una misma configuración:
Es importante notar que cuando usamos múltiples límites con segmentación, debemos asegurarnos de que cada valor by sea único:
Aplicando Rate Limiters a las Rutas
Para aplicar estos limitadores a nuestras rutas, utilizamos el middleware throttle:
Usando Redis para Rate Limiting
Si estamos utilizando Redis como driver de caché, podemos configurar Laravel para que use Redis en la gestión del Rate Limiting. Esto se configura en el archivo bootstrap/app.php:
Conclusión
El sistema de Rate Limiting de Laravel nos proporciona una manera robusta y flexible de controlar el tráfico en nuestras aplicaciones. Sus características principales incluyen:
Definición clara y expresiva de límites
Flexibilidad para personalizar respuestas
Soporte para límites dinámicos basados en el usuario
Capacidad para implementar múltiples límites
Integración con Redis para mejor rendimiento
Curso Laravel 12
Completo 2026
El único curso 100% actualizado que incluye Laravel 12, Livewire 3, Vue 3, React 19 e Inertia 2. Aprende con proyectos reales y las últimas funcionalidades.
star Incluido en cualquier suscripción