如何使用Ruby on Rails中的Devise验证密码强度?

时间:2013-01-20 23:40:08

标签: ruby-on-rails devise passwords

我想强制用户在注册时选择一个强密码。

我知道,那里有很多jquery密码强度计,我很可能也会使用其中一个。但这并没有真正强制任何人选择强密码。在没有启用js的情况下,注册表也必须可用,因此仍然可能使用弱密码进行注册。

帐户必须最安全,因为如果您已登录,则可以查看其他帐户的数据,在任何情况下我都不希望这些数据。所以我想在这里寻求最大的安全性,因此我认为,最重要的是只允许使用强密码。

所以,

如何设置和自定义验证最低密码强度的要求?我唯一能在设计配置文件中找到的是密码长度。是否还有其他宝石可用于此任务?

3 个答案:

答案 0 :(得分:13)

您可以使用Devise Security extension,您可以在其中定义密码正则表达式验证(以及其他内容)并强制实施您想要的密码强度。

答案 1 :(得分:7)

我最近发布了一个设计宝石,它使用zxcvbn库拒绝弱密码:

https://github.com/bitzesty/devise_zxcvbn

答案 2 :(得分:1)

在撰写本文时(2018年),我建议其他人在考虑之前推荐的Devise Security宝石之前考虑较新的Devise Security extension分叉(截至3月10日的陈旧情况) 2016年,但 OG AF mang!)

编辑:This one看起来更近,但是idk。