在我的Web应用程序(java / tomcat / struts / mysql)中保留用户更改日志的最佳方法是什么?我给出了帐户,每个帐户都有多个用户。我希望帐户管理员能够在任何给定时间查看谁做了什么。而且我希望能够访问所有这些内容。首先,我需要一种方法来了解哪些字段已被更改,然后我需要将每个帐户的更改记录在他们可以看到它们的位置。显然,我不想放慢应用程序的速度。我在这个网站上读到了一个答案,建议保留一个db日志 - 在发送每个查询后查询数据库中的更改。不知道该怎么做。
答案 0 :(得分:1)
这取决于您的Web应用程序的性质。假设您的Web应用程序是一个电子商务系统,它允许用户添加新产品或更新现有产品。当用户执行特定操作(如添加新产品)时,基本目标是捕获其用户名,操作和时间戳。对于更新产品,您可能希望跟踪他更新的值,旧值以及更改时间。
要实现这一点,首先需要
创建审核表
执行某些更改/操作时创建日志记录机制。
有关MYSQL Trigger here
的更多信息答案 1 :(得分:-1)
我正在寻找类似的“方法”来记录我的网络应用中的交易和其他内容。在浏览Google时,我发现了以下链接: https://www.owasp.org/index.php/Logging_Cheat_Sheet告诉两种可能的记录方式:在数据库上或在某些日志文件的文件系统上......
使用文件系统时,最好单独使用 分区比操作系统使用的分区,其他应用程序 文件和用户生成的内容对于基于文件的日志,请应用strict 关于哪些用户可以访问目录的权限,以及 目录中文件的权限在Web应用程序中, 日志不应在Web可访问的位置公开,如果已完成 所以,应该限制访问并配置纯文本 MIME类型(不是HTML)使用数据库时,最好是 利用仅用于写日志的单独数据库帐户 数据和数据库,表,功能和限制非常严格 命令权限使用安全协议的标准格式 记录并将事件数据或日志文件发送到其他系统,例如共同 日志文件系统(CLFS),syslog上的公共事件格式(CEF), 未来可能的共同事件表达(CEE);标准格式 促进与集中式日志记录服务的集成
他们精美地解释了我们可以记录的方式,应该记录的内容,以及应该避免的内容。
希望它对你有用。