attr_accessible :email, :password, :password_confirmation
如果没有,您能否举例说明在删除 attr_accessible 时防止“未定义”错误的方法。
attr_accessible :email, :password, :password_confirmation
如果没有,您能否举例说明在删除 attr_accessible 时防止“未定义”错误的方法。
如果你是安全偏执狂,你可以这样做是定义方法密码:
def password
self.password
end
这样密码就不能手动设置了。
但是你不应该担心它,因为许多像 devise 这样的登录 gem 需要 attr_accessible 中的密码。
这是安全的。Attr_accessible 仅对控制应用程序逻辑的属性是危险的。例如,如果您有一个标志,上面写着“是的,我已经检查过这个用户是管理员”,并且它可以由用户设置,因为它是 attr_accessible,那么它就是一个漏洞。
由于密码是由用户提供的一条信息,因此使其可由同一用户设置并不会改变任何内容。