跟蹤用戶嘗試登錄的次數的最佳方式是什麼? 也就是說會話數據,數據庫,臨時文件或其他?以PHP記錄登錄嘗試次數
1
A
回答
5
數據庫將是最好的。會話不起作用,因爲會話是特定於瀏覽器的;如果攻擊者在每次嘗試之間清除cookie,那麼系統永遠不會計入多次失敗。如果你真的不想使用數據庫,臨時文件可以工作,但這種事情實際上是數據庫的用途。
0
取決於你想保留這些信息的時間。如果它僅在有限的時間段內有用,請將其保存在會話數據中。如果您需要存儲更多的時間使用文件(或數據庫)。 但請記住,在他正確執行登錄之前,用戶不是用戶,因此應至少保存ip地址以識別此類登錄嘗試。
1
我建議如下:
對於即時跟蹤,我會選擇使用一個會話變量。這是一個公平的權衡,而不是使用文件和數據庫。但它僅適用於短期跟蹤。也就是說,直到用戶離開瀏覽器或直到會話超時。
爲了永久保存日誌嘗試的記錄,最好採用數據庫方法。我通常有一個單獨的表,跟蹤諸如IP,用戶ID,日期和時間之類的東西,並添加驗證碼來加強整個事情。
我相信使用數據庫表比使用外部文件更高效,更容易實現。這是因爲您必須將文件存儲在安全的位置,並設置權限以防止機器人和其他程序讀取它們。這是額外的工作。
相關問題
- 1. Facebook登錄嘗試登錄首次
- 2. 登錄嘗試的PHP登錄腳本
- 3. 記錄失敗的登錄嘗試
- 4. ASP.NET登錄嘗試登錄?
- 5. 限制登錄嘗試次數
- 6. 用戶窗體登錄嘗試計數器,3次嘗試
- 7. 要求多次嘗試登錄的SSO
- 8. 登錄 - 只允許3次嘗試
- 9. Angular2 ngrx/store有多次登錄嘗試
- 10. 多次登錄嘗試後阻止用戶登錄
- 11. RxJS重試獲取數據登錄後 - 如果登錄嘗試一次
- 12. 三次登錄嘗試失敗後PHP阻止訪問登錄頁
- 13. 嘗試使用php和mysql登錄時收到「無效登錄」
- 14. 安全PHP登錄嘗試功能
- 15. 嘗試登錄使用PHP和捲曲
- 16. 一次登錄多個網站的腳本。嘗試CURL和PHP。
- 17. PHP登錄重定向 - 重定向在第二次嘗試
- 18. PHP,MySQL - login \ logout問題,僅在第二次嘗試後登錄
- 19. PHP登錄需要兩次嘗試才能工作
- 20. PHP多次登錄
- 21. PHP - 上次登錄
- 22. Oracle Forms:無法保留記錄(2次嘗試)繼續嘗試?
- 23. Laravel登錄嘗試消息
- 24. ASP.Net MVC5登錄嘗試
- 25. 失敗登錄嘗試
- 26. Servlet:登錄嘗試失敗
- 27. 有限的登錄嘗試
- 28. 限制Openfire登錄嘗試
- 29. Laravel三州登錄嘗試
- 30. 檢查登錄嘗試