首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何对php网页和mysql数据库进行审计日志?

如何对php网页和mysql数据库进行审计日志?
EN

Stack Overflow用户
提问于 2018-10-01 08:43:06
回答 1查看 3.7K关注 0票数 1

我的网页是用PHP编码的,并链接到MySQL服务器管理工作室数据库。该网页的主要功能是允许用户通过该网页搜索数据库中的数据。我想创建一个搜索日志来跟踪用户的活动(谁,什么,他们什么时候搜索的,以及他们得到了什么结果)。我怎么能这么做?

对于管理员,他们拥有从数据库表中添加、删除、编辑数据的权限。我希望创建一个审计日志来捕获添加、删除或编辑的日期时间、用户I、旧值、新值和字段等。

因为我是新来的,感谢大家的帮助。提前谢谢你。

EN

回答 1

Stack Overflow用户

发布于 2018-10-01 12:48:48

建立您自己的审计跟踪可能有隐藏的问题和注意事项。

  1. 记录有关新和/或旧值的详细信息可能会对您的DB和服务器产生负面影响--假设您试图在第二时间保存数十条审计记录,而更新的字段是巨大的blob或文本字段。因此,可以考虑为审计目的而截断数据或只进行必要的审核。
  2. 考虑审核比现在想要的更多的细节。例如,可能的其他审计字段可以包括IP地址。
  3. 考虑一下审核,搜索/查看-它也可以帮助用户是否只是搜索的东西。

假设此结构将完成任务:

代码语言:javascript
复制
CREATE TABLE audit_trail (
    id int not null primary key auto_increment,
    user_id int not null,
    action_time datetime not null,
    action_performed enum ('view','add', 'edit', 'delete'),
    table_affected varchar(50) not null, -- table of affected item
    item_affected int not null, -- supposing every table has it's own id key
    old_value varchar(1000), 
    new_value varchar(1000)
)

如何储存旧的和新的价值-这是你的决定。首先,认为自定义审计日志不适合恢复back值(mysqldump和其他实用程序来拯救)。但通常情况下,它足以存储旧值和新值的短字符串表示(这就是varchar的原因)。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/52587401

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档