2011-05-15 279 views

回答

5

數據庫將是最好的。會話不起作用,因爲會話是特定於瀏覽器的;如果攻擊者在每次嘗試之間清除cookie,那麼系統永遠不會計入多次失敗。如果你真的不想使用數據庫,臨時文件可以工作,但這種事情實際上是數據庫的用途。

0

取決於你想保留這些信息的時間。如果它僅在有限的時間段內有用,請將其保存在會話數據中。如果您需要存儲更多的時間使用文件(或數據庫)。 但請記住,在他正確執行登錄之前,用戶不是用戶,因此應至少保存ip地址以識別此類登錄嘗試。

1

我建議如下:

  1. 對於即時跟蹤,我會選擇使用一個會話變量。這是一個公平的權衡,而不是使用文件和數據庫。但它僅適用於短期跟蹤。也就是說,直到用戶離開瀏覽器或直到會話超時。

  2. 爲了永久保存日誌嘗試的記錄,最好採用數據庫方法。我通常有一個單獨的表,跟蹤諸如IP,用戶ID,日期和時間之類的東西,並添加驗證碼來加強整個事情。

我相信使用數據庫表比使用外部文件更高效,更容易實現。這是因爲您必須將文件存儲在安全的位置,並設置權限以防止機器人和其他程序讀取它們。這是額外的工作。