是否有必要保护Rails更新操作?

时间:2017-12-23 11:36:22

标签: ruby-on-rails methods permissions access

如果保护Rails控制器中的编辑操作,以便,例如,只有登录的用户可以编辑他或她自己的配置文件,而没有其他人,是否还需要保护更新方法在同一个控制器中,还是足以单独保护编辑方法?

parsedatetime (current_time,'HH24:mm')

1 个答案:

答案 0 :(得分:1)

取决于您的路由/网址的方式。如果你在url中公开了user-id,你肯定应该因为一旦登录,我就很容易尝试重置其他人的密码。黑客很容易显示自己的表单,然后在发布之前进行inspect并编辑表单。

如果您使用GET :profilePOST/PUT :profile这样的网址,只允许用户查看和编辑自己的个人资料,他们就无法再尝试编辑其他人的个人资料(因为用户/配置文件数据和登录的会话是服务器端的)。

如果您使用UUID网址,您的网址已经更加安全(更难以猜到其他网址),但这仍然不安全,因此您应该验证发布更新的会话的所有者是否相同。