最近,我在设置密码时遇到了两条奇怪的错误消息,一条在Chipolte mobile ordering app上,另一条在金融服务门户上。在这两种情况下,我都被阻止设置密码,因为它包含非字母数字字符。金融服务网站还设置了我认为相当奇怪的最大长度(密码不得超过8个字符,seems extremely short sighted)。我想知道是否有任何安全理由的密码策略,以防止某些字符。
发布于 2012-12-19 02:59:01
没有安全理由。为了安全起见,允许的字符越多越好,因为这会增加潜在组合的数量。
唯一的“理由”要么是短视,要么是某种形式的存储或传输问题(通过适当的编码可以解决)。也许他们不知道如何进行参数化查询,并担心用户试图使用密码进行注入攻击?谁知道呢。它们至少应该是加盐和散列的,这至少可以解决大多数存储问题。
他们可能试图确保用户不写下他们的密码,而是选择一个“容易记忆”的密码,但这是适得其反的:已经准备写下密码的用户仍然会这样做,而蛮横地强迫每个人的密码只是变得容易得多。
如果他们也试图对密码不区分大小写,这是这个选择的一个原因,我会在很多层面上更加担心。
发布于 2012-12-19 02:51:46
这种类型的限制通常是因为后端的旧系统无法处理非字母数字字符,或者在数据库中为密码字符定义了较短的最大字段宽度。
有时,对遗留应用程序进行更改可能非常具有挑战性(并不是说这本身就很难,但它通常不是it优先事项)。
我特别在SAP集成中看到了它。
发布于 2012-12-19 02:53:38
这可能是因为在您设置密码后检查密码是否正确,它会将所有字符转换为其ASCII值,而特殊字符不包括在编程范围内。当他们在他们的服务器上存储你的密码和用户名信息时,只需要8个字符,这减少了它所占用的空间,这是真的,但它最终可能会变得可以克服。
https://stackoverflow.com/questions/13939499
复制相似问题