2009-06-28 15 views
13

Configuré mi sitio web para que requiriera direcciones de correo electrónico únicas (no dos usuarios pueden tener la misma dirección de correo electrónico), pero me di cuenta de que esto podría permitir que alguien verificara si una persona está registrada en mi sitio web al intentar registrarse con ese correo electrónico. De acuerdo, esta persona debería saber la dirección de correo electrónico que quería probar, pero podría ser información útil para algunas personas (por ejemplo, competidores que querían ver si sus usuarios están registrados en mi sitio web).¿Necesita direcciones de correo electrónico únicas al tiempo que protege la privacidad de sus usuarios?

¿Hay alguna manera real de detener esto, o solo se debe aceptar como una posibilidad?

Editar: para que quede claro, se trata de crear una cuenta. Incluso si proporciona un "inicio de sesión inválido" genérico para inicios de sesión incorrectos, ¿cómo requeriría una dirección de correo electrónico o un nombre de usuario únicos sin revelar qué nombres de usuario o direcciones de correo electrónico son válidos?

Edición adicional, muy posterior: Una cosa que no se consideró aquí fue mantener el requisito de direcciones de correo electrónico únicas cuando se permite a los usuarios cambiar su dirección de correo electrónico después de la creación de la cuenta. Aquí, la solución que acepté de enviar un correo electrónico de "contraseña olvidada" no funciona tan bien. En cambio, parece que las únicas opciones son usar captchas o limitaciones en la cantidad de veces que se puede cambiar una dirección de correo electrónico en un determinado período de tiempo para limitar los intentos automatizados.

+0

Buena pregunta. ¡Nunca pensé en esto! –

Respuesta

22

Si alguien intenta registrarse con una cuenta existente — envíe un correo electrónico "Cambie su contraseña" en lugar de un correo electrónico "Nueva cuenta" (y explique por qué).

Deje la respuesta HTTP como un simple "Se ha enviado un correo electrónico de confirmación a la dirección especificada. Siga las instrucciones para continuar".

+1

¿Está diciendo que envía a las personas un correo electrónico sin importar qué, solo determine qué entidad de correo electrónico les enviará según la dirección de correo electrónico utilizada o no? –

+1

Esto es todo lo que realmente puede hacer si desea evitar la filtración de esta información privada. –

+0

esto tiene sentido porque de esa manera es la misma respuesta sea o no una verdadera dirección de correo electrónico ... – jlarson

0

Sí, eso puede suceder y no se puede hacer nada al respecto, salvo limitar el número de intentos de verificación/registro a tiempo. Eso evitará, al menos, las verificaciones automáticas por parte de su competidor. Por supuesto, si un chico decide verificar si su novia está registrada allí, entonces tendrá esa posibilidad.

2

Supongo que el problema es que si alguien olvida su contraseña, le pediría que ingrese su dirección de correo electrónico y le enviaría la contraseña allí si encontrara una coincidencia.

Para que pueda hacer que los usuarios realicen un desafío de pregunta/respuesta cuando registran su dirección de correo electrónico. Es un dolor más grande para sus usuarios, pero si la seguridad es una preocupación, entonces pueden ir por ello.

Otra posibilidad es su formulario de registro. En este caso, los usuarios pueden ingresar una dirección de correo electrónico para ver si ya está "tomada".

Para responder a su inquietud, debe aceptar todas las inscripciones y enviar un correo electrónico de confirmación, incluso si ya están registradas. De esta forma, el usuario no sabe si acaban de registrar la dirección de correo electrónico por primera vez o no.

Finalmente, si se proporciona un nombre de usuario/contraseña incorrectos, no le diga al usuario qué es malo.

No creo que sea un riesgo de seguridad terrible a menos que la membresía al sitio sea confidencial, en cuyo caso puede usar algunos de los patrones descritos.

0

Sólo un pensamiento, no estoy seguro si funcionaría, pero ¿por qué no hacer algo como la página de inicio de sesión, donde en vez de decir "su contraseña es incorrecta" dice "nombre de usuario o la contraseña era incorrecta". Tal vez simplemente indique "su dirección de correo electrónico no es válida".Es probable que sea un poco de error de usabilidad, pero si le preocupa que la gente haga lo que usted dice, es posible que tenga que vivir con eso.

Cuestiones relacionadas