在我的Web應用程序(java/tomcat/struts/mysql)中保留用戶更改日誌的最佳方式是什麼?我給出帳戶,每個帳戶都有多個用戶。我希望帳戶管理員能夠在任何給定時間看到誰做了什麼。我希望能夠訪問它的全部內容。首先,我需要一種方法來了解哪些字段已被更改,然後我需要在每個帳戶可以看到的地方記錄更改。很明顯,我不想讓應用放慢速度。我在這個網站上閱讀了一個答案,建議保留一個數據庫日誌 - 在發送每個查詢後查詢數據庫的變化。不知道該怎麼做。在Web應用程序中保存用戶更改的日誌
0
A
回答
1
這取決於您的Web應用程序的性質。假設您的Web應用程序是一個電子商務系統,它允許用戶添加新產品或更新現有產品。當用戶執行添加新產品等特定操作時,其基本目標是捕獲其用戶名,操作和時間戳。更新產品時,您可能想要跟蹤他更新的價值,舊價值和他什麼時候改變價值。
要做到這一點,首先你需要
創建一個審計表
- 顯然要跟蹤上次修改人,時間戳,通過創建等
每當執行一些更改/操作時創建一個日誌記錄機制。
- 有幾種方法可以做到這一點,你可以通過應用程序來做到這一點,或將所有事情都留給數據庫觸發器。我建議使用觸發器來檢測數據庫中的任何創建/更新/刪除事件,並要求觸發器捕獲細節並寫入審計表。我認爲這是最簡潔和維護少的方式。但是,如果要使用應用程序登錄,則必須更改代碼,創建新方法以將詳細信息捕獲到操作類中的審覈表。在MySQL觸發
更多信息here
-1
我一直在尋找一個類似「法」來記錄交易和其他的東西在我的web應用程序。就在瀏覽Google時,我發現這個鏈接: https://www.owasp.org/index.php/Logging_Cheat_Sheet告訴你兩種可能的登錄方式:無論是在數據庫還是在某些日誌文件的文件系統上......
當使用文件系統中,優選使用單獨的 分區比那些由操作系統使用的,其它的應用程序 文件和用戶生成的內容對於基於文件的日誌,應用關於嚴格 權限的用戶可以訪問目錄以及目錄中的文件的權限在Web應用程序中, 日誌不應在Web可訪問位置公開,並且如果已完成 ,則應該具有受限訪問權限並使用純文本配置 MIME鍵入(不是HTML)使用數據庫時,最好 使用單獨的數據庫僅用於編寫日誌 數據並具有非常嚴格的數據庫,表格,功能和 命令權限使用標準格式通過安全協議 記錄並將事件數據或日誌文件發送到其他系統,例如,通用 系統日誌上的日誌文件系統(CLFS),通用事件格式(CEF),未來可能的公共事件表達式(CEE);標準格式 方便與集中式日誌記錄服務
整合他們已經解釋精美的可能的方式,我們可以登錄,什麼應該被記錄下來,避免什麼了。
希望它對你有用。
相關問題
- 1. 更改診斷日誌重新啓動Web應用程序
- 2. 保存在Web應用程序中
- 3. 使用PowerShell在Web應用程序中啓用應用程序日誌記錄
- 4. Web應用程序用戶操作日誌記錄
- 5. JSF Web應用程序用戶日誌記錄。如何?
- 6. red5 - 應用程序日誌文件保存在哪裏?
- 7. JMeter在哪裏保存測試/應用程序日誌?
- 8. 如何保持更改時間在C#web應用程序中
- 9. 使用ajax保存web應用程序的用戶選擇
- 10. Logback:如何在Web應用程序中爲每個「用戶」分隔日誌?
- 11. 在Web應用程序中爲每個用戶創建日誌文件
- 12. 保存可見的用戶日誌
- 13. PHP應用程序日誌存儲
- 14. 存儲應用程序日誌一天
- 15. MVC 4 web應用程序中的應用程序範圍日誌記錄
- 16. 如何保持用戶活動日誌並顯示在Android應用程序中?
- 17. 如何更改應用程序的Mule日誌文件大小
- 18. Rails應用程序在Heroku日誌中缺少web.1登錄
- 19. 在web應用程序中查看日誌跟蹤
- 20. 如何在asp.net web應用程序中創建日誌文件?
- 21. asp.net web用戶的日誌會話和會話更改
- 22. 如何創建應用程序日誌並保存它?
- 23. 哪裏可以保存應用程序日誌?
- 24. Azure的Web應用程序跟蹤日誌沒有出現在日誌
- 25. 查看我的web應用程序在線(HTMLLayout)的logback日誌
- 26. 應用程序日誌
- 27. iPhone - 崩潰日誌保存在iPhone應用程序中的哪個位置
- 28. 保存和Web應用程序
- 29. 更改Rails應用程序日誌記錄目錄
- 30. 應用程序日誌azure web應用程序的最佳實踐?