bloqueo de inicio de sesión después de X intentos fallidos

Estoy tratando de bloquear el inicio de sesión durante x minutos después de y fallidos intentos. Ya estoy planeando registrar los inicios de sesión de los usuarios, así que supongo que podría usar la misma base de datos para calcular si es necesario realizar el bloqueo.

Mis preguntas:

¿Tiene sentido usar la misma tabla de registros para ejecutar la lógica del bloqueo de intentos fallidos?Algunas personas tienen una tabla solo para los intentos fallidos, y escuché que solo incrementan el número de inicios de sesión fallidos. Esto no tiene sentido ya que todo lo que almacenan es el número de intentos fallidos, no dentro de qué período de tiempo. 3 intentos fallidos en 10 minutos no es lo mismo que 3 intentos fallidos en 3 días. ¿Importa el lapso de tiempo? ¿Bloquea después de x intentos fallidos, período o x intentos fallidos dentro de un intervalo de tiempo y. ¿Y cuál es el mejor marco de tiempo para esto?¿Alguien puede aclarar el enfoque de mejores prácticas para esto?

Respuestas a la pregunta(2)

Su respuesta a la pregunta