0

我正在决定是使用数据库中已经存在但使用不同用户名的电子邮件接受新注册还是拒绝它。

有时我会忘记网站的用户名和/或密码。然后我尝试使用我使用的不同用户名/相同的电子邮件重新注册,但经常被某些网络应用程序拒绝。

你对此有何看法?

编辑:忘记这个其他重要的问题......

在注册期间尝试查看数据库中是否已存在用户名时,我应该进行区分大小写的比较吗?不同的案例使用是否应该创建不同的用户名?

密码呢?他们应该区分大小写吗?

谢谢!

4

4 回答 4

3

我认为要求唯一的电子邮件地址是个好主意。它允许您重置忘记的密码并将其通过电子邮件发送给忘记的用户。

我建议如果您想拒绝重复的电子邮件地址,那么让您的用户使用他们的电子邮件地址作为他们的用户名。

我能想到不这样做的唯一原因是,如果您的系统可能需要一个人拥有多个登录 - 用于不同的访问级别、权限、区域等。最好设计系统,以便每个现实世界的人不过只需要一次登录。

关于区分大小写:您可以通过使用电子邮件地址作为用户名来避免这个问题 - 您可以在后台简单地小写所有内容。密码应该区分大小写。大写/小写大大增加了可用字符的数量,这使得暴力破解和猜测密码变得更加困难。

于 2009-10-10T14:55:24.700 回答
1

我不会这样做的。如果您有多个电子邮件,您将如何联系您的用户?另外你不是在注册时确认电子邮件吗?添加“恢复密码”程序比允许相同的电子邮件帐户更好。我也将它们用作唯一标识符。

于 2009-10-10T14:53:50.103 回答
0

每个电子邮件地址只允许一个用户名。我认为在某些情况下,根据您的服务,每个电子邮件地址允许多个帐户是有意义的。例如,我想为同一个电子邮件地址拥有多个 Twitter 帐户(例如,一个用于家庭 Twitter,一个用于技术 Twitter)。

  • 用户名或电子邮件 = 不区分大小写
  • 密码 = 区分大小写

我认为这是普遍接受和期待的。

于 2009-10-10T15:30:56.203 回答
0

大多数系统不允许在多个身份之间共享相同的电子邮件。在我看来,这种限制没有强有力的论据,除了@Scott Saunders 指出的——仅基于电子邮件重置密码会重置所有共享相同密码的帐户的密码。但是,我个人认为,如果用户对您的应用如此投入,以至于他们想要注册两次 - 让他们

但是,我建议在电子邮件和用户身份方面要记住几件事:

  • 不要将电子邮件用作用户身份/唯一标识符。人们往往会忘记他们的电子邮件密码或切换他们的电子邮件。
  • 允许用户输入多个电子邮件。接触用户的方式越多越好。
  • 仅对已确认的电子邮件强制执行电子邮件的唯一性。(也就是说,如果您选择强制执行电子邮件唯一性)
  • 将电子邮件视为不区分大小写。不幸的是,没有办法正确地小写电子邮件地址,这不在您的应用程序主要文化中。
  • 仔细考虑如何处理电子邮件中的点 (' .') 和加号 (' ') 字符。+一些系统忽略该点并将 john.doe@thedoes.com 视为与 johndoe@thedoes.com 相同。并且某些系统会以别名(或子电子邮件)的形式威胁加号之后的任何内容,因此 john.doe+mybank@thedoes.com 与 john.doe+mybank@thedoes.com 相同。(特别是,我知道至少有一个系统结合了这两种行为,所以 john.doe+mybank@thedoes.com 相当于 johndoe@thedoes.com)
  • 不要将子域中的电子邮件视为与主域中的电子邮件相同。不幸的是,在某些情况下,来自特定子域的电子邮件与来自顶级域的电子邮件相同,但您无法知道这何时成立。
  • 最重要的一项 - 允许用户在不提供电子邮件的情况下进行注册。这个有点争议,但我认为用户注册的摩擦越小,他们就越有可能与您的应用程序互动。(我不能告诉你有多少网站在注册过程中失去了我,结果我必须填写五页随机信息......)
于 2009-10-10T16:43:52.393 回答