我在我的应用程序中使用protect_from_forgery with: :exception
。它似乎工作正常,但我想测试它。
我有一张表格。我知道在使用protect_from_forgery
时,每个表单都有与之相关的真实性令牌,我想在真实性令牌未通过并抛出异常时创建一个情境。我想看看浏览器将如何响应异常。
我怎么能这样做?
答案 0 :(得分:0)
有几种方法可以做到这一点:
真实性令牌是表单数据的一部分:编辑页面以更改/删除这些表单提交应该导致异常。 Ajax提交的表单也可以在页面的head
部分中使用csrf元标记 - 您可能希望将这些标记更改为。
创建一个独立的html页面(在您的应用程序之外),其中包含一个表单发布到您要测试的操作
真实性令牌存储在会话中,因此在显示表单后,在另一个调用reset_session
的浏览器选项卡/会话中点击一个URL。现在提交表格 - 它应该失败。