Hola, 10 intentos máximos me parece bien, pero si bloqueas una cuenta por intentos reiterativos, también tenés que bloquear a la persona que estuvo intentando entrar, bloquear su IP e insertarle una cookie temporal para que no pueda seguir intentando entrar en otras cuentas.
por supuesto algo que se me ocurrió es poder darle la posibilidad a el dueño de la cuenta en las opciones de privacidad de querer que su cuenta quede bloqueada (el login) ante estos casos o que no quede.
Eso no deberías dejarle al usuario que elija porque eso sería un sistema de seguridad general de ti sitio para todos los usuarios y no una opción/configuración, y si decides hacerlo, entonces cuando el usuario cree su cuenta va a tener ese sistema de seguridad activado por defecto.
Lo de usar una cookie de sesión como contador no es buena idea porque el usuario puede borrar esa cookie y tu contador se reestableceria en 0, cierra la sesión antes de completar los 10 intentos y vuelve de nuevo a seguir probando, tenés que manejarte por base de datos como dijo el compañero dry.
Otra idea que podes implementar, es si un usuario utiliza un ataque de brute-force, detectarlo y en el x intento tu sistema hacerle creer que pudo ingresar a la cuenta -aunque realmente no sea así-, eso haría que el ataque automático del atacante, se pare, entonces tú sistema estaría engañando al suyo.
Saludos