如何使用:: exception rails

时间:2015-05-14 09:06:57

标签: ruby-on-rails ruby ruby-on-rails-4 web

我在我的应用程序中使用protect_from_forgery with: :exception。它似乎工作正常,但我想测试它。

我有一张表格。我知道在使用protect_from_forgery时,每个表单都有与之相关的真实性令牌,我想在真实性令牌未通过并抛出异常时创建一个情境。我想看看浏览器将如何响应异常。

我怎么能这样做?

1 个答案:

答案 0 :(得分:0)

有几种方法可以做到这一点:

  • 真实性令牌是表单数据的一部分:编辑页面以更改/删除这些表单提交应该导致异常。 Ajax提交的表单也可以在页面的head部分中使用csrf元标记 - 您可能希望将这些标记更改为。

  • 创建一个独立的html页面(在您的应用程序之外),其中包含一个表单发布到您要测试的操作

  • 真实性令牌存储在会话中,因此在显示表单后,在另一个调用reset_session的浏览器选项卡/会话中点击一个URL。现在提交表格 - 它应该失败。