在 rails 3.2.x 中,我可以在我的用户模型中执行此操作:
attr_accessible :email
当从命令行运行时,以下代码会引发 MassAssignmentSecurity 错误(因为 password_reset_sent_at 不可访问):
User.new(password_reset_sent_at: Time.zone.now)
但是现在,切换到 strong_parameters 后,上面的代码将执行而不会引发任何错误。
我猜 Rails 认为这种命令行输入是值得信赖的,因为它只能来自开发人员。我应该认为这是安全的吗?我假设攻击者只有在他/她有命令行访问权限的情况下才能提交像上面这样的代码?只是有点迷茫,这几天要接受的东西太多了。