Después de un intento fallido de inicio de sesión, ¿debo informar al usuario sobre el motivo? O más generalmente, ¿cuánta información sobre el motivo de un intento de inicio de sesión fallido debe dar una aplicación web?
Es bastante obvio no informar al usuario acerca de una contraseña incorrecta solo, sino asociarla con el inicio de sesión, como "El correo electrónico o la contraseña son incorrectos" (¿no es así?). Pero comencé a preguntarme sobre cómo informar al usuario que la cuenta fue suspendida / prohibida. ¿Es demasiada información? Si entrego esta información, también proporciono "esta cuenta está registrada con este servicio". En consecuencia, si los correos electrónicos de los usuarios se utilizan como inicio de sesión, "este correo electrónico es válido".
Pero toda esta información que un atacante podría retirar del formulario de registro al intentar registrar diferentes correos electrónicos / inicios de sesión, a menos que la aplicación confunda el motivo de la creación de la cuenta sin éxito (simplemente 'No se pudo crear una cuenta con los datos proporcionados'), que no es la mejor idea desde un punto de vista de UX.
Teniendo eso en cuenta, volvamos al inicio de sesión fallido: si un atacante puede obtener información sobre el correo electrónico registrado con cierto servicio , ¿no es estúpido simplemente decir 'El correo electrónico o la contraseña son incorrectos'? Los usuarios malintencionados / poderosos tendrán esta información de cualquier manera, y un usuario no calificado tiene que revisar el inicio de sesión / correo electrónico y la contraseña nuevamente.
Al final, parece una situación de Lose-Lose ('No hay seguridad Win - UX Flaw').
ACTUALIZACIÓN:
Reconsideré dar información sobre una cuenta bloqueada: por supuesto, esta información se debe proporcionar después de proporcionar las credenciales correctas (y entonces no es un problema dar más información sobre el motivo del bloqueo de la cuenta, la fecha de vencimiento, etc.). así que está fuera de discusión.
ACTUALIZACIÓN2:
Considere esta pregunta como una pregunta sobre un error de diseño en wepapps. No estoy preguntando sobre medidas para evitar los ataques de fuerza bruta (CAPTACHS después de algunos intentos, bloqueando una IP determinada por unos minutos después de otros intentos, y así sucesivamente ...)