我使用Rails 3.0.2,默認情況下在application_controller.rb中有protect_from_forgery
。Rails 3 protect_from_forgery無法正常工作?
我想觸發一個InvalidAuthenticityToken
。
要做到這一點我已經加入這個JavaScript到我的網頁:
$('input[name=authenticity_token]').val('aaa')
檢查與螢火蟲的DOM我看到authenticity_token
隱藏字段正確更新。
如果我提交表單並檢查從服務器的日誌,我看到相對參數正確設置爲'aaa'。我期望得到一個InvalidAuthenticityToken
而請求被處理,因爲它是正確的!
這怎麼可能?
你應該接受答案,因爲它解決了你的pb。 – apneadiving 2011-05-26 16:55:02
重置會話不足以防止CSRF。在導軌4中,默認的對策是引發異常,這種異常更安全。 – 2015-10-02 11:48:07