我正在爲一個網站登錄腳本,我需要一些方向。我所關心的有關安全..一些登錄失敗嘗試的操作 - 驗證碼
有參與,登錄頁面和登錄類,而我管理的安全如下2個東西..
內的login.php形式有一個令牌,當用戶提交表單(目標「PHP_SELF」),我稱之爲類:
- 驗證令牌
- 檢查,如果用戶不阻止
- 檢查,如果密碼是正確的bcrypt。
- 如果登錄失敗,則將該用戶最後一次登錄的嘗試次數和日期時間存儲在分區中。如果第二次嘗試,我會在表單中放入recaptcha。驗證碼通過jquery/ajax驗證(出於可用性原因),並在提交後在類中再次驗證服務器端(以防某人強制ajax發帖)。
- 如果第五次嘗試失敗,該帳戶被阻止10分鐘。
您是否看到任何安全弱點?
我發現了一個,不知道如何解決它。
如果失敗嘗試是「x」並且需要使用recaptcha,用戶可以單擊「登錄頁面」鏈接(不刷新),並且找到沒有使用recaptcha的表單(嘗試爲0)。我可以創建一個Session變量「嘗試「,但這一個可以強制以及阿賈克斯呼籲,對吧?
在此先感謝您的幫助
你怎麼知道它是同一個用戶試圖再次登錄? – Aris 2013-05-11 19:38:32
,因爲用戶使用郵件登錄並通過。我有一個數據庫中的表,我存儲的用戶名,嘗試和lastlogin ..當用戶提交表單,我檢查該表.. – buu 2013-05-12 00:13:20