可能重複:
Preventing Brute Force Logins on Websites
Limiting user login attempts in PHP防止猜解
我想知道什麼是防止暴力破解的登錄形式迫使最佳途徑。 含義如何保存嘗試次數和時間限制?會議是一個好主意嗎?
謝謝。
可能重複:
Preventing Brute Force Logins on Websites
Limiting user login attempts in PHP防止猜解
我想知道什麼是防止暴力破解的登錄形式迫使最佳途徑。 含義如何保存嘗試次數和時間限制?會議是一個好主意嗎?
謝謝。
您可以爲每個碰到您網站的人自動啓動會話。然後在會話變量中存儲登錄嘗試次數,如果它們被阻止,那麼它們將被解鎖。
處理登錄時,如果密碼和用戶名不匹配,並且時間限制尚未過期並且超過了嘗試次數,則向用戶顯示消息。
你的數據庫表看起來是這樣的:
sessions
==========
id
num_tries //Number of login attemps
block_expires //If they are blocked, when they can be unblocked.
這種方法假設用戶將承擔會話cookie。他們可以通過清除cookie來輕鬆解決這個問題。
爲了減輕些什麼,你可以建立一些智慧到過程:
我強烈建議不要這樣做,如果攻擊者禁用會話怎麼辦? – 2014-04-07 10:09:57
這是討論here。
共識是您可以爲每個失敗嘗試創建一個SQL表以及時間戳。然後,您將在失敗的登錄中查詢該數據,並使用cookie或每次查詢檢查嘗試次數和時間戳。
你有什麼試過的?這很普通?如果你想要超越頁面刷新的持續時間,你需要持久存儲。很明顯,會議就是一個例子。 – 2012-03-10 02:50:53