(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.

Encantado de ayudarte


Estoy disponible para trabajar en tu proyecto, modificar el programa del post o realizar tu tarea pendiente, no dudes en ponerte en contacto conmigo.

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.

Dejar un comentario