• 请不要在回答技术问题时复制粘贴 AI 生成的内容
FunctionOne
V2EX  ›  程序员

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

  •  
  •   FunctionOne · May 14, 2017 · 4622 views
    This topic created in 3290 days ago, the information mentioned may be changed or developed.
    Supplement 1  ·  May 14, 2017
    追问大家一个问题:如果大小写不区分,并且 I、l、1 等同处理。可能会遇到哪些潜在的问题么?(当已经有 hello 的时候,想注册 he11o 这样的名字不成功,这个并不算问题。)
    22 replies    2017-05-15 16:59:07 +08:00
    noe132
        1
    noe132  
       May 14, 2017
    理应是不区分大小写的。
    noe132
        2
    noe132  
       May 14, 2017   ❤️ 1
    比如邮箱,不能说小写是一个账号,大写是另一个账号吧
    IanPeverell
        3
    IanPeverell  
       May 14, 2017
    一般存储前都会 lowercase 处理一下的吧……
    geelaw
        4
    geelaw  
       May 14, 2017   ❤️ 1
    取决于你怎么设计这个系统。

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

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