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

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

  •  
  •   FunctionOne · May 14, 2017 · 5041 views
    This topic created in 3460 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
    noe132
    May 14, 2017
    1
    理应是不区分大小写的。
    noe132
    noe132
    May 14, 2017❤️1
    2
    比如邮箱,不能说小写是一个账号,大写是另一个账号吧
    IanPeverell
    IanPeverell
    May 14, 2017
    3
    一般存储前都会 lowercase 处理一下的吧……
    geelaw
    geelaw
    May 14, 2017❤️1
    4
    取决于你怎么设计这个系统。

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

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