我有一个我正在用带有 cancan 和设计的 rails 3 编写的应用程序。我很好奇从安全的角度来看,授权控制器上的发布操作是否必要或有帮助?假设我的所有控制器操作都需要通过设计进行身份验证(即用户必须登录)。
我可以看到为什么我需要通过 cancan 对使用 GET 的控制器操作进行授权,因为用户可以简单地输入他们希望自由访问的 url,并且必须将其锁定。但是,对于帖子,用户必须从表单中发布数据,该表单可以防止使用令牌进行 xss 攻击。
在这种情况下,假设如果我使用 cancan 限制我视图中的按钮的可见性,用户将无法恶意提交表单,是否可以安全地假设?
非常感谢
编辑:
谢谢你们的快速回答。正如下面已经指出的那样,恶意用户可以使用诸如 firebug 之类的工具伪造表单帖子,因此需要授权。
使用 capybara / cucumber 模拟这种类型的交互(用户使用他们已经破解的表单发布到 url)的最佳方法是什么?
再次感谢。