在基于* AMP的Web应用程序上处理用户名的最佳实践?

时间:2011-12-02 22:31:14

标签: php mysql lamp username case-sensitive

为团队项目构建概念验证网站。关于用户名,我们希望:

  • 注册并显示名称,例如“BillyBob1”
  • 阻止用户使用具有备用案例的字符复制名称,例如如果用户“BillyBob1”已经存在,“billybob1”,“BILLYBOB1”,“bIlLyBoB1”将被视为重复
  • 在登录期间,允许用户输入其用户名而无需担心例如可以在用户名字段中输入“billybob1”,但仍然可以识别为“BillyBob1”。

MySQL中的字符串比较,使用默认字符集和排序规则,不区分大小写,因此从概念上讲这很容易。将用户名保存在VARCHAR列中,然后使用标准搜索确定重复的注册尝试,并确认用户名,无论使用何种情况。简单。几乎...... 太简单了

但是,在基于* AMP的Web应用程序上处理用户名(和密码)的最小化最佳实践指南却没有发现太多。在我们尝试重新发明轮子之前,有人能指出我们正确的方向吗?

1 个答案:

答案 0 :(得分:1)

重新发明的车轮并不多。您已经开始使用最小的解决方案了。

使用_ci排序规则将用户名存储在varchar中,您的案例问题应该没问题。

使用mysql中的任何加密方法存储密码,PASSWORD()就是其中之一。