Yo declararía una variable de sesión llamada intentosfallidos = 0, y cada vez que el usuario se conecte, compruebo si es correcto, si no lo es, incremento intentosfallidos++; El botón de hacer login estaría dentro de un if(), con la condición de que si intentos fallidos es > 3 el botón se quede desactivado y salga al lado un mensaje. Obviamente la variable de sesión la tendrías que almacenar en las cookies, ya que si no, al recargar la pagina esta volvería a 0, y las cookies las darías un tiempo de vida de x minutos cuando el contador llegue a 3, para que el usuario no espere mucho mas para volver a intentarlo, aunque porotro lado podría hacerlo desde otro dispositivo.