email - verificación - ventajas y desventajas del uso del correo electronico
¿Cuáles son los pros y los contras de usar una dirección de correo electrónico como identificación de usuario? (15)
Estoy creando una aplicación web que requiere registro / autenticación, y estoy considerando usar una dirección de correo electrónico como única identificación de usuario. Esto es lo que veo como los pros y los contras (actualizado con las respuestas):
PROS
Un campo menos para completar durante el registro (simplemente sería la dirección de correo electrónico, la contraseña y la contraseña de verificación). Soy un gran admirador del registro minimalista.
Una dirección de correo electrónico es más fácil de recordar. (gracias Mitch , Jeremy )
No tiene que preocuparse porque ya se haya tomado su nombre de usuario favorito: usted es el único que usa su dirección de correo electrónico. (gracias TStamper )
CONTRAS
El usuario tiene más para escribir cada vez que inicia sesión.
¿Qué pasa si un usuario quiere múltiples cuentas? Necesitarán otra dirección de correo electrónico. (¿Incluso quiero que un usuario pueda crear varias cuentas?)
Es fácil de adivinar para un posible atacante (si conocen la dirección de correo electrónico del objetivo, conocen la identificación de inicio de sesión). (gracias Vasil )
Los usuarios pueden tener la tentación de usar la misma contraseña que usan para su cuenta de correo electrónico, lo cual es una mala seguridad. (gracias Thomas )
Si cambia las direcciones de correo electrónico con frecuencia, puede ser difícil recordar qué dirección usó para registrarse en un sitio después de un largo paréntesis. (gracias Software Monkey )
Un pirata informático podría enviar correo no deseado al formulario de registro y utilizar las respuestas de "correo electrónico ya tomado" para generar una lista de correos electrónicos válidos. (gracias David )
No todos tienen una dirección de correo electrónico. (gracias Nicholas )
Si fui con el correo electrónico como id, proporcionaría un mecanismo para permitir que se cambie en caso de que un usuario cambie de dirección. En este caso, los usuarios no publicarán contenido en un sitio público, por lo que no será necesario un nombre de usuario diferente para proteger las direcciones de correo electrónico (pero es algo que se debe tener en cuenta para otros sitios).
Otra opción es implementar OpenID (que es un debate completamente diferente).
Esto parece funcionar para Google, pero sus servicios están estrechamente integrados. ¿Qué me he perdido en mi análisis? Tiene alguna recomendación? ¿Alguien tiene experiencias para compartir?
EDICIÓN FINAL
Gracias a todos por sus respuestas. He decidido utilizar el correo electrónico como una identificación, pero luego permitir la creación de un nombre de usuario para iniciar sesión después del registro. Esto permite un poco de flexibilidad mientras se mantiene el registro lo más breve posible. También evita problemas cuando un usuario cambia las direcciones de correo electrónico (pueden simplemente iniciar sesión con su nombre de usuario y actualizarlo). También implementaré métodos para evitar la fuerza bruta de las direcciones de correo electrónico fuera de los sistemas de registro e inicio de sesión (principalmente un período de enfriamiento después de varios intentos).
CON: No todos tienen una dirección de correo electrónico. Considere si alguna vez una aplicación interna accede a su base de datos. Si tiene una tienda, las personas llamarán y realizarán un pedido por teléfono y se rehusarán a proporcionar una dirección de correo electrónico. Por lo tanto, aunque tener una dirección de correo electrónico como la identificación de usuario predeterminada es genial, asegúrese de permitir que las alternativas entren en el sistema. (Por supuesto, esto depende del contexto).
Aprendí esto de la manera difícil.
Como usuario de sitios web, puedo decirte que odio la memorización de nombres de usuario innecesarios. No utilizo un identificador único ni nada por lo que nunca puedo recordar qué variación de mi nombre utilicé y que todavía no estaba tomada. Prefiero escribir mi dirección de correo electrónico.
Además, me gusta OpenID.
Creo que te perdiste un PRO:
Es probable que los usuarios recuerden su dirección de correo electrónico; y como las direcciones de correo electrónico son únicas, nunca tienen que preocuparse de que se tome su nombre de usuario preferido.
Para resolver su problema de correo electrónico es demasiado largo para escribirlo todo el tiempo. Implementé la biblioteca StringScan Ruby.
require ''strscan''
def signup!(user, &block)
self.email = user[:email] unless user[:email].blank?
str = StringScanner.new(self.email)
str.scan_until(/@/)
str.pre_match
self.login = str.pre_match
etc.
Luego simplemente cambie el método de inicio de sesión para permitir que el correo electrónico o el inicio de sesión coincidan con la contraseña.
Esto funciona igual que google o mobileme. Un usuario puede elegir simplemente escribir su nombre de usuario de correo electrónico (es decir, nombre de usuario en lugar de [email protected]).
Personalmente, prefiero usar mi dirección de correo electrónico como nombre de usuario. Es una cosa menos que recordar, y nunca tengo que preocuparme de que mi nombre preferido ya haya sido tomado.
¡Solo mis 2 centavos!
Se adhieren a las direcciones de correo electrónico que se utilizan en todas partes, en realidad la mayoría de los principales sitios web los usan, son únicos y evitan que el usuario tenga que buscar un nombre que otros no usen. Además, los usuarios no olvidarán sus direcciones de correo electrónico (en la mayoría casos al menos :)), que es diferente a los nombres de usuario que seguirán olvidando si no visitan su sitio muy a menudo.
No debería preocuparse porque sean demasiado largos, ya que todos los navegadores principales (IE, FF, etc.) ofrecen autocompletar formularios que están habilitados de forma predeterminada, de modo que escriba las primeras letras en su correo electrónico y obtendrá una lista desplegable. (es decir, lista de autocompletar) donde simplemente hace clic para ingresar todo el correo electrónico, personalmente casi nunca escribo la dirección de correo electrónico en su totalidad, siempre escribo las primeras letras y luego selecciono el correo electrónico de la lista desplegable de autocompletar. Además, si permite que se recuerde a los usuarios (utilizando una casilla de verificación Remember Me y cookies persistentes), será otra razón para no preocuparse por ello.
No sé acerca de su aplicación, pero generalmente los usuarios que tienen varias cuentas no son deseables en la mayoría de las aplicaciones.
Si no te importa obligar a tus usuarios a iniciar sesión en tu aplicación con Facebook o alguna otra red social (a la mayoría de las personas no parece importarles), entonces puedes usar su correo de red social como su "identificación de usuario" al hacer referencia otras tablas / documentos (MySQL, Mongo, etc.).
Me di cuenta de que la ventaja de utilizar los inicios de sesión en redes sociales es que toda la seguridad se ha ocupado de dicha red social, lo que incluye no permitir que 2 usuarios tengan el mismo correo electrónico o nombre de usuario en la base de datos, lo que evita tener que codificar por todo eso Esta es solo mi preferencia personal.
Tiendo a no preferir las listas pro / con, y en cambio trato de pensar en los beneficios y desafíos.
Reto:
Algunos usuarios tendrán la tentación de utilizar su dirección de correo electrónico desde su ISP. Vincularse solo a un correo electrónico puede ser difícil para los usuarios que se olvidan de actualizar su correo electrónico en todos los sitios web en los que se registraron antes de cambiar de ISP.
En lugar:
Debería considerar permitir que un usuario proporcione múltiples direcciones, así como la identificación seleccionada por el usuario y luego dejar que el usuario decida qué quiere que deseen hacer. Tal vez también considere permitir que el usuario proporcione una cuenta OpenID.
Una buena configuración es requerir nombre de usuario y correo electrónico. Permitir que el usuario inicie sesión con la dirección de correo electrónico o el nombre de usuario es muy fácil de usar. Un beneficio adicional es que el usuario puede cambiar su dirección de correo electrónico. También permitiría cuentas múltiples para un correo electrónico.
Una configuración que puede considerar: tener un nombre de usuario y un correo electrónico. El correo electrónico se usa para iniciar sesión y siempre se mantiene como privado. El nombre de usuario se usa para identificar al usuario en cualquier interacción pública, como publicar un comentario. Se termina siendo un poco más seguro ya que ambas mitades de las credenciales de inicio de sesión del usuario se mantienen privadas, mientras que si usa un nombre de usuario para el inicio de sesión y la identificación pública, ya se conoce la mitad del inicio de sesión.
Definitivamente estoy de acuerdo con usted acerca de tener un registro mínimo para la mayoría de los casos, pero dependiendo de lo que esté haciendo, es posible que desee equilibrarlo con la seguridad adicional para sus usuarios. Cuatro campos no es escandaloso para el registro, (nombre de usuario, correo electrónico, contraseña, confirmar contraseña), y si te sientes particularmente aventurero, puedes reducirlo a tres abandonando el campo de contraseña de confirmación, o dos enviándoles una contraseña que pueden cambiar más tarde.
Una desventaja podría ser que, si se trata de una dirección de correo electrónico, el inicio de sesión puede ser adivinado por personas y se pueden intentar ataques de fuerza bruta. Lo cual no es realmente un gran problema, ya que en la mayoría de los sitios de hoy los inicios de sesión se muestran públicamente.
El mayor profesional es que los inicios de sesión son más fáciles de recordar de esta manera.
CON: Si cambio mi dirección de correo electrónico, de repente todos mis nombres de cuenta no son válidos. Mi nombre no cambia, pero mi correo electrónico a menudo sí lo hace. De vez en cuando volví a visitar un sitio después de varios años, y me quedé atascado ... ¿cuál era mi dirección de correo electrónico hace dos años?
CON: Si un pirata informático puede intentar registrar direcciones de correo electrónico al azar en masa, podrá averiguar cuáles de esas direcciones son válidas en función de qué registros fallan. Esta es una táctica que se puede usar para armar listas de direcciones de correo electrónico válidas conocidas, que son un bien habitual en el mercado negro de spam.
Aunque ahora que lo pienso, es un problema que afecta a cualquier sitio web que solicita una dirección de correo electrónico como parte del proceso de registro, independientemente de si hay un nombre de usuario diferente o no. Pero aún es algo en lo que pensar.
CONTRAS
- Cuando se usa la misma contraseña para la cuenta de correo electrónico, comprometerla automáticamente significa comprometer la otra.
PRO
La gente odia tener que crear un nombre único que se ajuste a su id y que aún no se haya tomado para registrarse en un sitio ... Por eso es que la identificación de usuario como DIRECCIÓN DE CORREO ELECTRÓNICO es tan aceptada.
ex : TStamper1930, que en realidad quiere recordar 1930 al final de mi nombre que realmente quería