使用电子邮件而不是id进行用户操作有什么问题吗?

时间:2016-07-15 00:24:58

标签: php mysql

我正在开发移动应用程序。如果我选择通过电子邮件进行大部分用户查找,有什么不对吗?例如,当用户注册时,我只是将他们的电子邮件保存在手机缓存中,并自动让他们在下次打开时登录。此外,当用户登录时,我将根据他们在文本字段中输入的电子邮件搜索该用户的信息(假设密码正确)。我可能会遇到任何问题,也许电子邮件在数据库中无法匹配?另外我假设我还会在数据库中的电子邮件字段中放置一个索引?

在手机缓存中保存用户电子邮件是否存在安全风险?是否有人可以欺骗(因此他们可以使用别人的用户信息)?

1 个答案:

答案 0 :(得分:1)

如果您的通信渠道是安全的,例如TLS(SSL),则用户输入

101
johnny101@gmail.com
Excalibur10X
在身份验证期间,

加密码在这方面同样可以。通信是安全的,并且其他方和服务器跃点都不知道。注意,我说是。

它假设您已执行安全注册,您的网页是安全的。此后,您将维护一些会话状态Application Server。您遵循最佳实践以避免会话劫持。这意味着,在身份验证之后,您不会回退到非安全页面并以明文或允许劫持方式传递用户信息。

对于数据库性能,保存自然键或非计算机生成的id很好。性能会稍微慢一些。希望很快我可以用更宽的密钥来记录这个方面的数百万分贝,而不是4字节的整数。任何告诉你它的人都会同样快,不用担心它会使用小型数据库或者不会用指标来支持它。证明是复杂的连接,而不是简单的一行查找。

不要泄露信息。不允许SQL注入。保持这些前沿和最重要的。