站点不允许使用以下字符:= ?<> ( ) ‘ " / \ &
它还将最大密码长度限制为20个字符。
这让我怀疑它们可能被存储在纯文本中,并且输入没有被正确地消毒。这种限制还有其他原因吗?
我不认为这是一个复制为什么不允许密码中的特殊字符?,因为这是一个相当新的网站,不需要(据我所知)与任何旧的金融系统集成。
发布于 2015-09-25 06:02:55
假设它们存储的是散列密码,限制密码字段允许包含的内容类型的合理理由是简单的输入清理。
可能有一组规则在任何地方都适用,除非开发人员做了一个特殊的例外;这样,程序员就不必记住对给定组件“打开安全检查”;除了有理由不这样做的地方,一切都被净化了。
被过滤掉的字符通常与各种条纹的注入攻击相关联,您没有理由允许密码中的这些字符,也没有理由禁用安全检查,默认策略是适用的。
为什么是20个角色?这可能是某些组件库中的默认设置。
https://security.stackexchange.com/questions/101083
复制相似问题