Articulos Podcast Cartas del editor
Consejos Laravel: Bloquear usuarios por cantidad de intentos fallidos

Consejos Laravel: Bloquear usuarios por cantidad de intentos fallidos

21 Sep, 2020 | 0

Muchas veces recurrimos a un Captcha de terceros para darle más seguridad a nuestro formulario de inicio de sesión, pero tal vez, no sepas que Laravel tiene incluida una lógica para tener control de la cantidad de ingresos fallidos por un usuario malicioso y bloquearlo si llega al límite que nosotros deseemos.

 

Y no solo eso, también podemos configurar la cuanto tiempo el usuario quedará bloqueado para intentar iniciar sesión.

 

Cantidad de ingresos fallidos antes de bloquear

Laravel nos da la posibilidad de establecer la cantidad de intentos fallidos de iniciar sesión antes de bloquear al usuario. Para esto, debemos sobrescribir la propiedad $maxAttempts en el controlador que viene por defecto en Laravel.

Intentos fallidos

 

Estableciendo el tiempo de bloqueo

También, Laravel nos da la posibilidad de establecer el tiempo en minutos que queremos que el usuario malicioso no pueda intentar ingresar a la aplicación. Para esto, debe sobrescribir la propiedad $decayMinutes en el controlador que maneja el inicio de sesión.

Tiempo de bloqueo

Nota importante

Se puede utilizar un controlador propio para el inicio de sesión reemplazando el controlador AuthController que viene por defecto en Laravel. Pero si quieren utilizar la función de bloquear a usuarios por cantidad de ingresos fallidos, se  debe implementar el trait AuthenticatesUsers en tu controlador.

Versión disponible

La posibilidad de bloquear un usuario por intentos fallidos y establecer el tiempo que estará bloqueado son características que están disponibles desde Laravel 5.6. Así que, si continuas utilizando versiones anteriores, es una gran característica para pensar en ponerse al día con las versiones de Laravel.

 

Conclusión

Hay muchas funcionalidades en AuthenticatesUsers para sobrescribir que nos brinda distintas funcionalidades muy interesantes y útiles. Algunas de ellas las he detallado en el artículo de Guardar Información del Usuario

Soporte Imagina