laravel

(429) Too Many Requests Laravel – Solución y explicación

Introducción

Cuando estamos consumiendo una api creada con Laravel, puede que nos aparezca el error que dice “(429) Too Many Requests“. Aquí explicaré por qué pasa y qué solución tenemos para ello.

Básicamente esto aparece porque estamos haciendo muchas peticiones en un corto periodo de tiempo; por ejemplo, hacer 100 peticiones en menos de un minuto.

Es una forma que tiene Laravel para protegernos. Ya que de esta forma bloqueamos el acceso a un usuario malicioso que haga miles de peticiones para que nuestro servidor caiga. Si pasa el límite, sólo se le responderá con el código http 429.

Solución

No hay una verdadera solución para esto, porque en realidad no es un problema. Pero hay un pequeño truco para que ya no salga este error.

Si nosotros queremos permitir que se hagan más peticiones en el período de un minuto (arriesgándonos a un ataque) simplemente tenemos que modificar el archivo App/Http/Kernel.php e ir a la línea 41 (al menos en Laravel 5.4 y 5.5).

Ahí vemos que dice 60 y luego dice 1. El 60 representa el número de peticiones que se pueden hacer en 1 minuto. Y el 1, pues el período de tiempo medido en minutos, que en este caso es uno.

Por ejemplo, si yo quiero permitir 120 peticiones por minuto, haría esto:

Podemos poner cualquier número y cambiarlo a lo que deseemos, pero siempre debemos ser cuidadosos.

Para que los cambios surtan efecto simplemente tenemos que guardar el archivo y listo. No necesitamos reiniciar el servidor o cosas así.

Conclusión

Laravel es un poderoso framework que nos permite hacer cosas maravillosas con poco esfuerzo. Viene protegido por defecto, pero nos da la oportunidad de cambiar lo que deseemos. Esa es una gran ventaja, de poder cambiar todo a nuestra conveniencia y de acuerdo a nuestras necesidades.

Estoy aquí para ayudarte 🤝💻


Estoy aquí para ayudarte en todo lo que necesites. Si requieres alguna modificación en lo presentado en este post, deseas asistencia con tu tarea, proyecto o precisas desarrollar un software a medida, no dudes en contactarme. Estoy comprometido a brindarte el apoyo necesario para que logres tus objetivos. Mi correo es parzibyte(arroba)gmail.com, estoy como@parzibyte en Telegram o en mi página de contacto

No te pierdas ninguno de mis posts 🚀🔔

Suscríbete a mi canal de Telegram para recibir una notificación cuando escriba un nuevo tutorial de programación.
parzibyte

Programador freelancer listo para trabajar contigo. Aplicaciones web, móviles y de escritorio. PHP, Java, Go, Python, JavaScript, Kotlin y más :) https://parzibyte.me/blog/software-creado-por-parzibyte/

Entradas recientes

Creador de credenciales web – Aplicación gratuita

Hoy te voy a presentar un creador de credenciales que acabo de programar y que…

1 semana hace

Desplegar PWA creada con Vue 3, Vite y SQLite3 en Apache

Ya te enseñé cómo convertir una aplicación web de Vue 3 en una PWA. Al…

2 semanas hace

Arquitectura para wasm con Go, Vue 3, Pinia y Vite

En este artículo voy a documentar la arquitectura que yo utilizo al trabajar con WebAssembly…

2 semanas hace

Vue 3 y Vite: crear PWA (Progressive Web App)

En un artículo anterior te enseñé a crear un PWA. Al final, cualquier aplicación que…

2 semanas hace

Errores de Comlink y algunas soluciones

Al usar Comlink para trabajar con los workers usando JavaScript me han aparecido algunos errores…

2 semanas hace

Esperar promesa para inicializar Store de Pinia con Vue 3

En este artículo te voy a enseñar cómo usar un "top level await" esperando a…

2 semanas hace

Esta web usa cookies.