我使用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