2014-06-10 30 views
0

在Rails中,使用設計,如果一個CSRF檢查失敗,那麼用戶的當前會話被清除,即註銷用戶,因爲服務器認爲它是一個攻擊(這是正確的/期望的行爲)。 但是請求已完成,因此用戶記錄仍然被創建。黑客可以正確登錄。 如何才能停止方法繼續一旦設計實現auth_token不正確?後CSRF檢查,設計仍然運行全功能

回答

0

設計不會對auth令牌進行任何檢查 - 它是這樣做的動作控制器(儘管它在您的控制器上調用handle_unverified_request以便您可以自定義行爲)。在軌道4和更高的你還可以指定默認情況下會發生什麼時,身份驗證令牌無效:

protect_from_forgery with: :exception 

會導致拋出一個異常,這將停止處理請求。

然而,我不確定這是什麼購買你 - CSRF是這樣的,攻擊者不能濫用用戶已經登錄到你的應用程序的事實,但如果攻擊者擁有一組有效的證書,那麼他們不會首先需要做CSRF。

+0

完美,非常感謝。我只是想在用戶做出奇怪的事情時發生異常 –

相關問題