我对这个问题有疑问,因为它假设应该有一个标准,并且所有服务的价值都是相同的。
我不认为对这些字段设置最大长度是有用的,尤其是密码字段。使用口令散列,限制口令长度不会带来空间上的好处。可能会有限制最小密码长度的原因,但最小长度应该是多少取决于服务的安全性。
有了电子邮件地址,你就无法猜测你的用户会选择多长的地址,也无法猜测地址有多短:你凭什么说a.very.long.address@some.subdomain.of.makealongeremailaddress.com是无效的,相反,推特不会开始在t.co上出售电子邮件别名?
用户名稍微更难理解,但我还是认为限制用户名长度没有任何好处。如果你的服务可能很受欢迎,那么(像谷歌)你可能会从停止获取简短虚荣用户名的竞赛中受益,但特别是如果你很受欢迎,限制长度没有任何好处,如果你这样做了,那么你可能会阻止用户找到一个还没有被使用的合适名称(参见"No-As-Big-As-Medium-Sized-Jock-But-Bigger-Than-Wee-Jock-Jock").