Lo que más importa en términos de seguridad es lo que gana un atacante al saber si una ID o dirección de correo electrónico específica tiene una cuenta en su sitio.
Por ejemplo, si está haciendo algún tipo de negocio que se puede considerar como un problema de privacidad, o si las cuentas en su sitio pueden usarse para gastar dinero o tener algún valor intrínseco (en otras palabras, si puedo obtener algo). de phishing su sitio). Algunos sitios no tienen este tipo de problema, por ejemplo, una plataforma de microblogging o OSN mostraría su ID en su página de todos modos, por lo que avisar a un usuario que escribió un ID inexistente puede ser útil.
Desde una perspectiva de usabilidad, no decirle a su usuario si su ID existe es desastroso. Cualquier sitio web que use ID debe al menos confirmar una ID (las ID son específicas de su sitio para que no proporcionen spammers mucha información). No decirle a su usuario la dirección de correo electrónico también es una idea terrible: necesitan volver a escribir cada contraseña posible que hayan usado para cada una de sus direcciones de correo electrónico.
Pregúntese con qué frecuencia los usuarios visitan su sitio web. Una baja frecuencia de visitas amplificará enormemente los problemas de usabilidad, hasta el punto en el que quizás desee habilitar contraseñas de un solo uso enviadas por texto o correo electrónico de un formulario de inicio de sesión tradicional, para cualquiera que se conecte solo unas pocas veces al año.
Por ejemplo, tengo dos direcciones diferentes en el trabajo, varias contraseñas para diferentes subsistemas y una política de restablecimiento de contraseña, además de mi dirección de correo electrónico personal y un montón de contraseñas diferentes. Puede tomar decenas de intentos para encontrar la combinación correcta de correo electrónico / contraseña para un sitio al que no suelo ir.
Como lo señaló @William Forcier, puedes conocer si un correo electrónico está en uso por varios medios :
- formulario de creación de cuenta
- formulario de inicio de sesión
- formulario de contraseña olvidada
Sin embargo, aún podría implementar diferentes defensas para cada formulario. Si decide que debe ocultar completamente las direcciones de correo electrónico, puede bloquear / complicar la creación de la cuenta (CAPTCHAs) a una dirección IP específica después de un número demasiado grande de creaciones. De todos modos, es probable que necesite un mecanismo para protegerse contra las cuentas de correo no deseado (pero recuerde no arruinar la vida de sus usuarios reales con soluciones inutilizables, por ejemplo, sirviendo CAPTCHA).