【问题标题】:Are there any standards regarding email and password acceptable and unacceptable characters?是否有关于电子邮件和密码可接受和不可接受字符的标准?
【发布时间】:2020-04-08 01:51:54
【问题描述】:

可以在任何电子邮件和密码中使用哪些可接受的字符集以通过以下任何协议进行身份验证:

SMTP 
POP3
IMAP

简单地说什么可以接受,什么不可以

我可以使用我自己的规则吗?每个人都这样做吗?是否有 W3C 参考?我做了一些研究,但找不到任何东西。

【问题讨论】:

  • 我不认为有一个标准来管理这个。请查阅您正在使用的实现的文档。我希望他们会逐字接受任何字节序列(然后,如果这两种表示不同,那么从传输 UTF-8 的设备登录的用户将被锁定,例如 Latin-1)。
  • @tripleee 谢谢你的重播,我已经检查了这 3 个协议的文档,没有一个提到关于密码字符集的任何限制
  • 您最好坚持使用可打印的 ASCII。传统上,这些协议使用 unix 密码系统,通常只使用“一堆字节”进行匹配,但没有编码 unicode 的标准。大多数软件可能会使用 latin-1 或 utf-8,但为了互操作性,我会避免使用它们。

标签: email smtp imap pop3


【解决方案1】:

所有三个协议都为此引用了 SASL,即共享身份验证和某物层。也许是安全性。

SASL 规范身份验证,并允许使用不同的身份验证机制,其语法和语义在有意义的地方共享。 RFC 4616 指定了一种常用方法和its page 3 has the answer you're looking for:使用 UTF8 编码时,密码最长可达 255 个字节,允许使用除 0 和some characters are equivalent 之外的任何 unicode 字符。例如,几个空格字符映射到 ASCII 空格。

允许更严格的机制。例如,基于 Microsoft 的 NTLM 身份验证的 SASL 机制将包括 Microsoft 和 SASL 的限制。这在协议意义上无关紧要。 IMAP/SMTP 客户端无法真正区分过长的密码和输入错误的密码。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2022-01-02
    • 1970-01-01
    • 1970-01-01
    • 2019-05-03
    • 2018-03-03
    • 1970-01-01
    • 1970-01-01
    • 2021-12-23
    相关资源
    最近更新 更多