Habilitar Captcha después de varios fallos de inicio de sesión - ¿Cómo implementar esto?

Estoy trabajando en un sistema de autenticación con error de inicio de sesión.
Si el usuario no puede iniciar sesión, el número de intentos en la base de datos se incrementa y si se alcanza un límite definido, PHP establece una variable captcha de sesión en verdadero.
Así que cuando el usuario (o el bot de spam) vuelve a obtener la página de inicio de sesión, se muestra un formulario de captcha gracias a la variable de sesión

Pero como los bots de Spam podrían eliminar la cookie de sesión y volver a intentarlo, esto podría no ser efectivo.

¿Debo usar una solución de base de datos en su lugar? ¿Cómo implementaría esto (con / o sin la base de datos)?

Respuestas a la pregunta(3)

Su respuesta a la pregunta