在一个账号系统中,应该允许 abc 和 ABC 作为两个账号同时存在么?还是应该把它俩当作一个账号处理?

2017 年 5 月 14 日
 FunctionOne
4668 次点击
所在节点    程序员
22 条回复
noe132
2017 年 5 月 14 日
理应是不区分大小写的。
noe132
2017 年 5 月 14 日
比如邮箱,不能说小写是一个账号,大写是另一个账号吧
IanPeverell
2017 年 5 月 14 日
一般存储前都会 lowercase 处理一下的吧……
geelaw
2017 年 5 月 14 日
取决于你怎么设计这个系统。

大多数账号系统都是大小写保持、大小写不敏感的。

不过你会遇到一些恶心的问题,比如“大小写不敏感地相等”这件事情很模糊,你需要指定一个 locale。
imn1
2017 年 5 月 14 日
我还想把 s1 和 sl 当同一个帐号呢
murmur
2017 年 5 月 14 日
如果是企业应用推荐不区分大小写而且一定要 trim
FunctionOne
2017 年 5 月 14 日
@murmur 请问 trim 是进行怎样的操作?
murmur
2017 年 5 月 14 日
@FunctionOne 去除首尾的空格
realpg
2017 年 5 月 14 日
基本用 mysql 存储 字符集就用不分大小写的 方便
run2
2017 年 5 月 14 日
程序里 数据库里都处理成一个 不然区分大小写的话会出现很多假冒的 id 因为还有 aBc ABc 等等等等 。。。。
Mutoo
2017 年 5 月 14 日
不要让骗子有机可趁。建议使用大小写不敏感的系统。
nodin
2017 年 5 月 14 日
账户体系总要有容错率的,大小写不区分,I、l、1 等同处理。
FunctionOne
2017 年 5 月 14 日
@nodin 非常感谢这个建议。
hzwei
2017 年 5 月 14 日
如果不区分大小写,仅仅“ ABCDEFG ”的账号会出现 2 的 7 次方个,这样整个账号系统会很混乱。
imn1
2017 年 5 月 14 日
@Mutoo
windows 么?
Mitt
2017 年 5 月 14 日
不要试图给自己找麻烦,远离一切大小写坑
zhaoxiting1997
2017 年 5 月 14 日
我记得之前 V2EX 就出过一个伪造的小写 livid,后面好像被发现了,删掉了。
hinate
2017 年 5 月 14 日
不要区分,不然会出现高仿号...
lslqtz
2017 年 5 月 14 日
不要区分,但是保存时应该按照大小写来保存。
然后 trim 是要的,但是不建议对 l1i 做等同处理。
chanssl
2017 年 5 月 14 日
@zhaoxiting1997 #17 BXIA 和 BXlA

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/361213

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX