V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
FunctionOne
V2EX  ›  程序员

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

  •  
  •   FunctionOne · 2017-05-14 11:56:47 +08:00 · 3941 次点击
    这是一个创建于 2743 天前的主题,其中的信息可能已经有所发展或是发生改变。
    第 1 条附言  ·  2017-05-14 13:44:46 +08:00
    追问大家一个问题:如果大小写不区分,并且 I、l、1 等同处理。可能会遇到哪些潜在的问题么?(当已经有 hello 的时候,想注册 he11o 这样的名字不成功,这个并不算问题。)
    22 条回复    2017-05-15 16:59:07 +08:00
    noe132
        1
    noe132  
       2017-05-14 12:21:02 +08:00
    理应是不区分大小写的。
    noe132
        2
    noe132  
       2017-05-14 12:21:37 +08:00   ❤️ 1
    比如邮箱,不能说小写是一个账号,大写是另一个账号吧
    IanPeverell
        3
    IanPeverell  
       2017-05-14 12:22:24 +08:00
    一般存储前都会 lowercase 处理一下的吧……
    geelaw
        4
    geelaw  
       2017-05-14 12:31:17 +08:00   ❤️ 1
    取决于你怎么设计这个系统。

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

    不过你会遇到一些恶心的问题,比如“大小写不敏感地相等”这件事情很模糊,你需要指定一个 locale。
    imn1
        5
    imn1  
       2017-05-14 12:32:24 +08:00
    我还想把 s1 和 sl 当同一个帐号呢
    murmur
        6
    murmur  
       2017-05-14 12:36:15 +08:00   ❤️ 1
    如果是企业应用推荐不区分大小写而且一定要 trim
    FunctionOne
        7
    FunctionOne  
    OP
       2017-05-14 13:00:12 +08:00
    @murmur 请问 trim 是进行怎样的操作?
    murmur
        8
    murmur  
       2017-05-14 13:02:45 +08:00   ❤️ 1
    @FunctionOne 去除首尾的空格
    realpg
        9
    realpg  
       2017-05-14 13:08:30 +08:00   ❤️ 1
    基本用 mysql 存储 字符集就用不分大小写的 方便
    sobigfish
        10
    sobigfish  
       2017-05-14 13:12:44 +08:00   ❤️ 1
    程序里 数据库里都处理成一个 不然区分大小写的话会出现很多假冒的 id 因为还有 aBc ABc 等等等等 。。。。
    Mutoo
        11
    Mutoo  
       2017-05-14 13:38:34 +08:00   ❤️ 1
    不要让骗子有机可趁。建议使用大小写不敏感的系统。
    nodin
        12
    nodin  
       2017-05-14 13:38:42 +08:00 via iPhone   ❤️ 1
    账户体系总要有容错率的,大小写不区分,I、l、1 等同处理。
    FunctionOne
        13
    FunctionOne  
    OP
       2017-05-14 13:42:12 +08:00
    @nodin 非常感谢这个建议。
    hzwei
        14
    hzwei  
       2017-05-14 14:08:22 +08:00 via Android   ❤️ 1
    如果不区分大小写,仅仅“ ABCDEFG ”的账号会出现 2 的 7 次方个,这样整个账号系统会很混乱。
    imn1
        15
    imn1  
       2017-05-14 15:02:37 +08:00
    @Mutoo
    windows 么?
    Mitt
        16
    Mitt  
       2017-05-14 18:39:28 +08:00
    不要试图给自己找麻烦,远离一切大小写坑
    zhaoxiting1997
        17
    zhaoxiting1997  
       2017-05-14 18:45:23 +08:00
    我记得之前 V2EX 就出过一个伪造的小写 livid,后面好像被发现了,删掉了。
    hinate
        18
    hinate  
       2017-05-14 19:21:53 +08:00 via iPhone
    不要区分,不然会出现高仿号...
    lslqtz
        19
    lslqtz  
       2017-05-14 20:37:33 +08:00   ❤️ 1
    不要区分,但是保存时应该按照大小写来保存。
    然后 trim 是要的,但是不建议对 l1i 做等同处理。
    chanssl
        20
    chanssl  
       2017-05-14 21:48:55 +08:00
    @zhaoxiting1997 #17 BXIA 和 BXlA
    GoBeyond
        21
    GoBeyond  
       2017-05-15 05:59:06 +08:00 via Android
    不想弄出一堆假冒 id 就不要这么做
    Mutoo
        22
    Mutoo  
       2017-05-15 16:59:07 +08:00
    @imn1 帐号系统
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   2897 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 35ms · UTC 06:30 · PVG 14:30 · LAX 22:30 · JFK 01:30
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.