我已经阅读了有关 php 登录脚本的各种主题,因此我不打算回顾这些讨论,但我想知道在密码哈希中使用真盐和假盐。
我在考虑 ID#/ID/密码登录提示,而不是 ID/密码登录提示。我的用户都有 ID,与他们在职业中经常使用的我的公司无关。如果他们输入匹配的真实 ID# 和登录 ID,那么他们会得到真正的盐。所有不匹配的条目都会导致密码的假盐。虽然这些 ID#s 可能在 Internet 上可以获得,但您必须知道用户的名称,这会使所有随机攻击都失败。使攻击起作用的唯一方法是首先发现用户名,然后攻击我的系统。用户身份并不为人所知。
这是一种可行的方法吗?如果我在一定次数的尝试后还锁定了一个 ID,并在如此多的 GLOBAL 尝试失败后延迟登录尝试,可能会出现什么问题。但是,我不会对任何涉及假盐的尝试进行锁定或限制。我只打算在他们获得真正的盐时实施这些故障保险。但是,如果他们获得现有的 ID#,我可能会考虑限制。
想法或建议?这会是禁止 IP、询问个人问题、验证码等的安全替代方案吗?