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

2017-05-14 11:56:47 +08:00
 FunctionOne
3944 次点击
所在节点    程序员
22 条回复
noe132
2017-05-14 12:21:02 +08:00
理应是不区分大小写的。
noe132
2017-05-14 12:21:37 +08:00
比如邮箱,不能说小写是一个账号,大写是另一个账号吧
IanPeverell
2017-05-14 12:22:24 +08:00
一般存储前都会 lowercase 处理一下的吧……
geelaw
2017-05-14 12:31:17 +08:00
取决于你怎么设计这个系统。

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

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