php - 我应该允许 2 个字符的密码吗?

标签 php security passwords

这听起来像是一个无聊的问题,但安全领域的人会明白这一点。我是否应该让用户输入任意数量的字符,只要它大于 0 个字符。我的逻辑是:

  1. 密码无论如何都会被散列和加盐,并且
  2. 对于做彩虹 table 的人来说,没有任何长度/其他指导方针会更有趣,但是
  3. 我担心的是暴力字典攻击。

我的做法是否正确?

既然问的是下限问题,那还不如问一下上限?同样,它将被散列和加盐,因此数据库大小不是问题。那么在这种情况下,我唯一能想到的问题就是缓冲区,对吧?

更新给那些迟到的问题

所以普遍的共识似乎证实了我最初的想法,即暴力破解的风险增加了。然而,RT cracker 的工作不会因为他们没有关于大小的线索而变得那么困难。事实上,这可能会变得更容易,因为无论如何它们都是从较低的字符表开始的。正确的? (更不用说现在已经出现的非技术问题,如越过某人的肩膀等等,这对于更长的密码来说并不是一个大问题。)

所以结论是:即使你对密码进行哈希/加盐,短密码仍然存在风险

然而,对于长密码,我不确定我是否有一个决定性的答案?我是否应该担心缓冲区溢出,毕竟它仍然是一个常规输入字段。

最佳答案

这将使攻击者只有 1296 个选项来猜测特定用户的密码。

关于php - 我应该允许 2 个字符的密码吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1602880/

相关文章:

php - 变量变量处理顺序: changes in PHP 7

javascript - PHP 文件未获取使用 POST 通过 AJAX 发送的变量

ruby - 我应该对小型单一服务服务器采取安全措施吗?

security - 二维码安全

security - 大多数开放平台上的app-id和app-key有什么区别?

postgresql - Postgres createuser 需要密码(不是我的系统密码)

php - MySQL/PHP/JS 动态填充下拉菜单

reactjs - 禁用密码输入中的黄色框 react native

php - 使用 HTTP POST 登录表单

PHP 引导基础