为什么有些网站禁止您在网站密码中使用非字母数字字符?

为什么有些网站禁止您在网站密码中使用非字母数字字符?

我今天登录了一个网站,发现了这条消息:

作为新安全系统升级的一部分,我们要求所有现有客户更改密码,以加强对其私人信息的保护。
我们建议使用您容易记住但别人难以猜到的密码。请注意,新密码应介于 8 至 16 个字符之间,并且禁止使用特殊字符,“'”、“””、“;”、“|”、“?”、“<”、“>”、“^”、“*”、“:”、“=”和“#”。感谢您的理解与合作。

16 个字符可能已经足够长了,但我看不出有限制长度的充分理由。

对我来说更有趣的是禁止使用某些特殊字符。虽然我听说过其他网站只允许使用字母数字字符,但这种方案仍然有很多特殊字符可用。为什么我的密码内容与哈希算法有关?它只是一个哈希,或者该哈希的 base-64 编码,对吧?

  1. 此政策是否会危及我的账户安全?
  2. 是否存在无法处理字符集的特定密码处理程序',";|?<>^*:=#
  3. 我是否应该关心网站其他地方的安全政策?

答案1

几乎可以肯定的是,这可以阻止人们在常规字段中嵌入代码(例如 SQL 注入)。

答案2

因为他们在预防 SQL 注入方面做得很差。我几乎可以理解不允许使用 ' 和 "(你的成绩从 F 降到 C),其他一切都很马虎

答案3

我是否应该关心网站其他地方的安全政策?

是的你应该。

因为如果他们能够知道你的密码中包含哪些字符,就意味着你的密码以明文形式存储在数据库中。这很糟。

相关内容