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

问题描述 投票:0回答:1

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

  • 注册并显示大小写名称,例如“ BillyBob1”
  • 如果用户“ BillyBob1”已经存在,则防止用户使用其他大小写字符(例如“ billybob1”,“ BILLYBOB1”,“ bIlLyBoB1”)来复制名称
  • 在登录期间,允许用户输入用户名而无需担心大小写,例如可以在用户名字段中输入“ billybob1”,但仍被识别为“ BillyBob1”。

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

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

php mysql lamp username case-sensitive
1个回答
1
投票

没有太多需要重塑的轮子。 您已经在寻求最小的解决方案。

用_ci排序规则将用户名存储在varchar中,您应该可以解决案例问题。

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

© www.soinside.com 2019 - 2024. All rights reserved.