Estoy empezando a pensar que esto no es tan simple como parece, y muchas respuestas "aceptadas" aquí y en el SO, tienen respuestas alternativas que los critican. Esto es lo que he reunido hasta ahora
La mayor parte de lo que he recopilado proviene de esta pregunta SO
Utilizando IP - no es precisa
Por ej. en países como Singapur, hay un número limitado de ISP y un conjunto más pequeño de IP disponibles para usuarios domésticos
También creo que esto no es efectivo en los ataques de fuerza bruta distribuidos
Uso de la cookie de sesión : fácil de superar, no lleva mucho tiempo borrar una cookie y no es efectivo en los ataques de fuerza bruta distribuidos
Usando el nombre de usuario - tiempo de espera exponencial creciente - puede tener workarounds
Si tengo una lista de 1000 nombres de usuario, intentaré user1 + password1, usuario2 + contraseña1, usuario3 + contraseña1 ... usuario1 + contraseña2, usuario2 + contraseña2
Utilizando recapcha : está bien, pero aún debes saber que es el mismo "usuario" (que puede estar realizando un ataque distribuido, borrando sus cookies, etc.)
Supongo que supongo que no hay una solución perfecta, pero ¿existe alguna solución "buena" aprobada por alguna organización como OWASP para manejar el estrangulamiento de intentos fallidos de inicio de sesión?