禁用cookie时处理CSRF保护

时间:2010-07-06 20:30:11

标签: ruby-on-rails cookies csrf

如果未启用Cookie,表单帖子将抛出ActionController::InvalidAuthenticityToken。在大多数情况下,我只是处理异常,并附上一条消息,指出需要cookie才能登录我的应用程序。

但是,我的应用程序的用户可以做的一件事是创建要与其他人共享的内容,这些人可能登录也可能不登录(这不是必需的)。此外,如果创建者选择这样做,则该内容可以受密码保护。这是我遇到问题的地方。如果重要,我使用active_record_store作为session_store,并设置config.action_controller.session

如果访问者尝试在未启用Cookie的情况下解锁受密码保护的内容,则应用程序将抛出异​​常,并从访问者的角度来看,崩溃。我希望能够处理这种情况,但我不知道该怎么做。我可以处理异常并允许在不检查cookie的情况下解锁内容,但如果我这样做,我可能不会保护针对CSRF的操作,因为我无论如何都要打开漏洞,对吗?或者,我可以要求启用cookie以便可以对表单进行身份验证,但在这种情况下确实没有理由要求cookie。

如果我理解正确,如果我对该操作禁用保护,我只会将解锁受保护的内容暴露给CSRF漏洞,但如果没有启用cookie,那会不会重要?处理缺少cookie时有没有办法保护?

1 个答案:

答案 0 :(得分:1)

我不认为为该操作禁用它会是一个问题。伪造保护仅对对您的应用数据有影响的操作非常有用。

相关问题