2011-01-20 138 views

回答

4

无论他们喜欢什么字符。被告知你的密码太安全了,简直令人讨厌。

+1

当然,一定要用一些md5,sha1和其他魔法来散列它。当网站限制我的角色时,它确实让我气愤,因为他们这样做的唯一真正原因是为了保护自己免受SQL注入,如果他们没有清理存储在数据库中的纯文本密码。我真的希望他们没有存储我的密码明文。所以他们要么不安全,要么迫使我不安全。 – 2011-01-20 07:11:33

0

从理论上讲,需要才有。但从编程方便的角度来看,我知道'不应该被允许(mysql注入等,但如果代码编写正确,它应该不成问题)。

0

取决于您需要多少安全。我会说大写和小写字母,数字和大多数符号(所有的顶行符号,以及问号,逗号,句号以及其他几个符号)。

您应该尽可能地不受限制。让人们使用他们想要的角色。

0

他们喜欢的任何字符,以及他们喜欢的任何长度(除非可能不超过您的PHP Post限制)。在一个好的密码系统中,你只存储散列,并且在登录时,你也只发送散列。所以这应该不重要。

即使您存储了密码,您也应该转义您放入数据库的任何字符串(mysql_real_escape_string),因此任何字符都可以并且应该被允许。如果您存储了实际的密码,您可以将长度限制为字段大小,在这种情况下,我认为这应该至少为200个字符。

0

我想你应该知道你正在使用什么字符集,并且仅限于此。所以如果你不使用UTF8,但是ISO-8859-1,你不希望他们写多字节字符。

0

标准en-US keybaord上的任何东西都可以。

0

您可以允许在密码中插入任何字符。 请确保您验证输入以防止MySQL注入 - 如果不使用加密。建议至少使用MD5()或SHA1()加密密码。

0

我认为应该允许输入他们想要的每一个字母。但是,您应该强制使用密码的适当长度以使其更安全。如果可以,我还会建议您使用联合登录:

  • openid:lightopenid是一个非常简单的库。
  • 谢谢连接
  • Twitter的单点登录

这些选择都将是这样securer