2011-06-06 172 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