2011-06-06 95 views
4

我有一个Rails 3网站,主页是静态内容和登录表单。我想在此页面上使用HTTP缓存(我们位于Heroku - 后面的Varnish),但随后登录表单的真实性标记被缓存,这会触发伪造保护并阻止除第一个会话之外的所有人登录。用Ruby on Rails缓存登录表单

认为我最好的行动方式是禁用这项行动的伪造保护,但首先我想了解涉及的风险。

因此... 这种情况下禁用伪造防护的风险是什么?

或者,有没有更好的方法来解决这个问题?

回答

1

糟糕的事情可能发生,这是CSRF默认开启的原因。 http://en.wikipedia.org/wiki/Cross-site_request_forgery#Forging_login_requests

+0

谢谢,但维基的文章有点少细节。在这种情况下提到的具体情况并不是问题。你可以充实其他场景吗? – 2011-06-06 05:18:49

+1

Theres默认情况下它是一个附加的安全层,不要缓存页面并使用CSRF保护。让我们这样说,你禁用CSRF什么会阻止某人制作虚假的登录页面并使用你使用的同一个表单?您的网站将接受参数,用户将被发送到您的网站。没有人知道某个帐户已被盗用。 – 2011-06-06 14:21:08

+0

@DevinM,我认为这不是问题。有人可以通过它伪造登录页面并收集凭证。 CSRF的目的是为了代表已登录的用户进行(可能是恶意的)操作,而不是他的意图,甚至可能在他没有意识到它发生的情况下。 – Teisman 2017-03-31 09:01:23