密码黑名单

时间:2015-01-18 12:01:59

标签: ruby-on-rails rails-activerecord blacklist

我有一个密码黑名单,我不希望用户在我们的Rails应用程序中创建帐户或更改密码时可以选择。

我希望它在数据库表而不是YAML文件中。

如何查看/检查用户提交的密码是否存在于此列表中?有什么办法吗?

我觉得我不需要为它创建一个ActiveRecord模型等。

1 个答案:

答案 0 :(得分:1)

  

如何查看/检查用户提交的密码是否存在于此列表中?有什么办法吗?

如果你加密你的用户密码(比如我希望你这样做),执行这项检查有点挑战(事实上,这正是盐加密密码的目的之一)。

对于数据库中的每个用户,您将需要循环每个密码,使用当前的加密策略对其进行加密,并将结果与​​存储在数据库中的加密字符串相匹配。如果它们匹配,则表示用户正在使用其中一个密码。

这就是已存储的密码。

  

我不希望用户能够在我们的Rails应用中创建帐户或更改密码时选择。

这比上一步更容易。当用户注册或更新密码时,只需将用户输入的未加密密码与您拥有的密码进行比较。如果匹配,则返回验证错误。