将密码字段设置为attr_accessible是否安全?

时间:2013-04-12 21:15:45

标签: ruby-on-rails security mass-assignment

attr_accessible :email, :password, :password_confirmation

如果没有,请举例说明在删除attr_accessible时防止“未定义”错误的方法。

2 个答案:

答案 0 :(得分:2)

如果你是安全偏执狂,你可以这样做是定义方法密码:

def password
  self.password
end

这样就无法手动设置密码。

但你不应该担心它,因为许多登录宝石如设计需要attr_accessible密码。

答案 1 :(得分:2)

很安全。 Attr_accessible仅对控制应用程序逻辑的属性有危险。例如,如果您有一个标记,上面写着“是的,我已经检查过该用户是管理员”,而且可以由用户设置,因为它是attr_accessible,那么它就是一个漏洞。

由于密码是用户提供的一条信息,因此可由同一用户设置,不会改变任何内容。