休闲网站的密码规则

时间:2010-01-19 00:09:19

标签: asp.net security

我正在考虑在休闲网站上使用以下规则。

  • 8-20 chars long
  • 有效字符包括字母,数字和符号
  • 区分大小写

就是这样。我的问题是,除了白色空间之外,是否还有其他符号我应该视为“非法”?请记住,这是一个随意的网站,所以我不需要任何非常有限的密码策略。

谢谢,

8 个答案:

答案 0 :(得分:17)

希望您不在您的数据库中存储密码。您应该存储密码 哈希

因此,如果您要使用密码创建哈希值,为什么任何非法字符?

您可能希望强制执行最小密码长度,只是为了保护自己。

即使你限制字符,为什么你会认为空格是非法字符?许多用户创建“密码短语”来保护他们的密码。

答案 1 :(得分:7)

您应该让您的用户拥有他们喜欢的任何密码。也许强制执行最小长度,但没有别的。无论如何,你在它到达你的数据库之前对它进行消毒,对吗?

答案 2 :(得分:2)

你为什么要非法字符?只要它不会破坏你系统的任何部分(它不应该破坏它),就没有理由拒绝它。

答案 3 :(得分:2)

为什么要将密码限制为20个字符?最低限度鼓励用户选择难以猜测的短语,但为什么要限制它呢?

同样限制可以使用的字符。为什么要限制它?

尽管您的网站随意,但以明文形式存储密码是不好的做法。至少,连接一些盐(例如用户名加上你网站的一些常量字符串),并存储它的SHA-1哈希值。由于用户倾向于在多个站点使用相同的密码,因此如果您的站点密码被劫持,这可以很好地防止跨站点黑客攻击。

答案 4 :(得分:1)

如何退出密码业务并使用像SO一样使用Open ID?

答案 5 :(得分:1)

大多数网站要么需要6个以上的字符,要么没有最低限制。虽然6不是很安全,但它可能并不重要,因为它是一个随意的网站。您可能应该允许短至6个字符的密码,以便用户在需要更短密码时更快乐。

我认为没有理由不允许任何特定字符。很多网站只允许使用字母数字字符,但我不知道为什么。只要确保字符不会干扰网站源代码,你应该没问题。

答案 6 :(得分:0)

我会反过来说:不要拒绝无效的字符(你可能会忘记拒绝某些字符) - 而是检查每个字符是否为允许的字符。

答案 7 :(得分:0)

不要那样做。对于休闲网站来说,8个字符太长了,用户也变幻无常。您对密码复杂性的任何要求都将失去用户。

除非您是银行,否则您不应该强制执行任何类型的密码复杂性。如果用户想要字母'a'作为他的密码,那就让他去吧。当他发现某个恶意实体正在缩短他名字中的网址时(或者无论你的网站做什么),他都可以处理它,并可能学到很好的教训。

要记住的重要一点是,这不是你的问题,你只能通过强制执行复杂性来惹恼别人。