Rate Limiting en Laravel 8

arrow_back Blog

Otra de las novedades de Laravel 8 es la posibilidad de crear nuestros propios limitadores de tasas al momento de permitir el consumo de nuestra aplicación. En este caso esta posibilidad nos la ofrece la nueva fachada Illuminate\Support\Facades\RateLimiter a través de su método for.

Para ver cómo funciona esta nueva funcionalidad simplemente debemos abrir el provider RouteServiceProvider y ver su contenido, el cual será similar al siguiente código.

Puedes ver que ahora el método boot está llamando al método configureRateLimiting el cual simplemente utiliza la fachada RateLimiter para generar un throttle llamado api y que limita el número de peticiones a 60 por minuto para cualquier usuario. Para utilizar este throttle simplemente podemos hacer lo siguiente en nuestro archivo routes/api.php por ejemplo.

Si ahora hacemos más de 60 peticiones en 1 minuto veremos que aparece un 429 con el mensaje 429 Too Many Requests. Limitar tasas con excepciones A veces necesitaremos aplicar una tasa a un usuario y otra a otro usuario, es decir, si tenemos usuarios con ciertos privilegios por su tipo de cuenta o similar desearemos hacer algo para que se puedan beneficiar de su estatus. Eso lo podemos hacer de una forma muy sencilla.

En esta ocasión simplemente hemos creado un nuevo throttle llamado uploads al igual que hacíamos con el throttle api, es decir, podemos tener tantas tasas de limitación como necesitemos en nuestros proyectos.

Si deseas seguir conociendo más sobre Rate Limiting en Laravel 8 no te pierdas la documentación de Laravel.

Cursosdesarrolloweb Cursosdesarrolloweb

Cursosdesarrolloweb es una plataforma educativa con cursos y tutoriales en texto y vídeo.

Términos y condiciones Política de privacidad Formulario de contacto

Copyright 2024 © Todos los derechos reservados.

Contacto