我們有一個非常標準的Symfony2應用程序。有一個提供者,一個密碼編碼器等等。密碼被散列,散列成本相當大。如何保護Symfony登錄免受計時攻擊?
換句話說 - 當有人試圖登錄時(不一定用正確的密碼) - 當有真正的用戶檢查散列以及不存在時,這是顯而易見的。在第二種情況下,它更快 - 沒有用戶 - 不需要散列等。
因此,如果在我們的應用中註冊了特定電子郵件,那麼很容易知道。
Symfony中是否有內置的機制來防止這種泄漏?或者任何確定的最佳做法?
UPD響應第一答案: 如何處理一般這是或多或少清楚,問題是我們如何能做到這一點,而不Symfony的安全框架內的痛苦。
是的,我們使用這個功能。但是,如果有人輸入_not_existing_電子郵件 - 框架(我想)不會嘗試比較密碼,使頁面加載明顯的問題。所以很容易說出郵件是否存在於我們的數據庫中。那就是問題所在。 – user1312695