2011-10-30 31 views
3

我建立網站,用戶註冊,登錄,切換到其他用戶頁面,閱讀文章,註銷等哪種類型的事件最好在DB中存儲日誌?

這一刻我認爲所有這些事件必須登錄出於安全原因,所以管理員將有數據操縱的大選擇。這個apporach是否正確?

每個事件將在不同的字段中提供用戶ID,IP,+日期和時間。

我只是對這個主題的一般方法感興趣。也許還有更多的事要做,或者做一些不同的做法。一些提示和技巧可能有助於構建更安全,更好的項目...

小例子。

1.用戶按壓按鈕登記

2.用戶驗證每個輸入字段

3.用戶按下「註冊」到發送登記表

4.Server說,這是正常或有一個錯誤。

5.如果確定用戶已註冊。

6.用戶仍然在註冊表中查看錯誤。

7.如果他註冊激活郵件發送給用戶....

8.User臨危消息激活鏈接致函給他。

那麼我必須在這個例子中登錄哪些事件?

回答

1

一個好的和常見的方法是每個事件都有它的水平。

您在配置中設置系統正在處理的當前級別。所有具有比當前配置級別更低(或更高)級別的事件都將被記錄。

這當然是記錄用戶活動。

許多先進的系統爲代碼實現一個記錄器,它與用戶活動分開。它通常會登錄到一個文件中(您也可以登錄到數據庫,但這應該謹慎,因爲它可能很重)。您在登錄代碼時將系統當前級別設置爲DEBUG/INFO/USER等,幾乎在您調用記錄器的每行代碼後面(有些將被忽略,具體取決於級別)。這樣,當您想要調試並發現問題時,可以將日誌設置爲DEBUG,並查看代碼是如何逐行運行的。在常規基礎上,您可以在查看USER/INFO消息時發現問題。

編輯:

您可以記錄用戶活動。您可以記錄系統行爲。您可以記錄數據,以便您更好地瞭解用戶(會員/來賓)如何瀏覽您的網站。他們點擊了哪些鏈接,他們正在執行哪些常見操作,他們在每個頁面上花費了多少時間,他們正在執行多少滾動,鼠標移動,文本高亮等等,您可以從中瞭解如何改進您的用戶界面以改進用戶經驗。您可以檢測用戶界面或系統中的問題。問題是 - 你想從將被記錄的數據實現什麼?它只是調試你的系統,發現黑客企圖,或找出用戶如何使用你的網站?

+0

感謝您的答案我寫的例子呢? – David

+0

用戶活動。我記錄了所有使用php的原因,因爲我使用Ajax。 – David

+0

好的。你想追查錯誤嗎?跟蹤黑客攻擊企圖? – galchen