2013-02-19 108 views
1

我有一個登錄表單,我想根據嘗試檢查失敗的登錄嘗試並採取適當的措施。檢查登錄嘗試

我被沿着這些線路想:連續失敗嘗試之間

  1. 最小允許時間將是1秒。

  2. 當嘗試失敗時,首先刪除db中1秒前發生的舊條目。如果大於1秒,則在經過特定的嘗試次數(例如3)之後,向用戶顯示消息,詢問他是否要重置密碼或再次嘗試(類似於臉書)。

  3. 如果最後一次登錄嘗試發生在不到1秒的時間內,則將IP地址阻塞15分鐘。

我已經已通過其他職位了這個網站上,我已經看到了使用如顯示的驗證碼或使用cookies和其他方法,不同的方法的人。

所以我的問題是接近這個問題的最好方法(或標準方法)是什麼?

回答

1

在您的用戶/成員表上添加兩個新列:「上次登錄日期(時間)」和「登錄嘗試次數」。

對於登錄嘗試,請將「上次登錄日期」設置爲當前日期並增加「登錄嘗試次數」。如果超過最大嘗試次數,或者嘗試發生得太快,則可以檢查每次嘗試。儘管從聲音的角度來看,您可能需要在定時嘗試中混合使用客戶端和服務器端驗證。

成功登錄後,您清除「登錄嘗試次數」。