我今天登录了一个网站,发现了这条消息:
作为新安全系统升级的一部分,我们要求所有现有客户更改密码,以加强对其私人信息的保护。
我们建议使用您容易记住但别人难以猜到的密码。请注意,新密码应介于 8 至 16 个字符之间,并且禁止使用特殊字符,“'”、“””、“;”、“|”、“?”、“<”、“>”、“^”、“*”、“:”、“=”和“#”。感谢您的理解与合作。
16 个字符可能已经足够长了,但我看不出有限制长度的充分理由。
对我来说更有趣的是禁止使用某些特殊字符。虽然我听说过其他网站只允许使用字母数字字符,但这种方案仍然有很多特殊字符可用。为什么我的密码内容与哈希算法有关?它只是一个哈希,或者该哈希的 base-64 编码,对吧?
- 此政策是否会危及我的账户安全?
- 是否存在无法处理字符集的特定密码处理程序
',";|?<>^*:=#
? - 我是否应该关心网站其他地方的安全政策?
答案1
几乎可以肯定的是,这可以阻止人们在常规字段中嵌入代码(例如 SQL 注入)。
答案2
因为他们在预防 SQL 注入方面做得很差。我几乎可以理解不允许使用 ' 和 "(你的成绩从 F 降到 C),其他一切都很马虎
答案3
我是否应该关心网站其他地方的安全政策?
是的你应该。
因为如果他们能够知道你的密码中包含哪些字符,就意味着你的密码以明文形式存储在数据库中。这很糟。