你有没有遇到过这种糟心情况?好不容易更的原创文章莫名其妙没了,后台改了个参数站点直接崩了,想退回去都记不清自己改了啥,甚至被人登了后台乱改东西都不知道是谁干的。但凡你给ZBlog装了操作日志,这些问题全不是事。
说白了这玩意儿就是你站点后台的24小时监控,谁登的后台、啥时间登的、IP地址是啥、改了啥东西,一笔一笔全给你记的明明白白。之前我有个做个人博客的朋友,站点被人撞库猜对了密码,删了30多篇攒了半年的原创,没装日志连人家从哪来的都查不到,差点直接弃站。哪怕没人搞破坏,自己手残改乱了主题配置,翻下日志就能看到改了啥,不用吭哧吭哧重新调,省的不是一点半点时间。
很多人都不知道ZBlog官方应用中心早就有现成的操作日志插件,不用你写半行代码,点几下就能装好。登后台点应用中心,直接搜“操作日志”,找带官方认证标的那款直接安装启用就行。
装好之后可以自己调整记录规则,没必要啥鸡毛蒜皮的操作都记,占数据库空间,这几个核心项勾选就够用:
日志留存时间也调下,个人小站留30天足够,流量大的企业站最多留90天,定期清理冗余日志避免数据库越来越臃肿。

要是你不想多装插件占资源,也可以自己写几行代码挂系统钩子实现,不用改核心文件,直接粘到当前主题的function.php里就行。
```php // ZBlog自定义操作日志记录代码 Add_Filter('Admin_Action', 'record_custom_operation_log'); function record_custom_operation_log($action) { // 过滤掉无意义的页面加载操作 if(in_array($action, ['index', ''])) return; $logInfo = [ '操作人ID' => $GLOBALS['zbp']->user->ID, '操作人账号' => $GLOBALS['zbp']->user->Name, '操作类型' => $action, '操作IP' => GetVars('REMOTE_ADDR', 'SERVER'), '操作时间' => date('Y-m-d H:i:s') ]; // 写入日志文件,提前在zb_users下建log文件夹并赋755权限 $logPath = $GLOBALS['zbp']->path . 'zb_users/log/operation_' . date('Ymd') . '.log'; file_put_contents($logPath, json_encode($logInfo, JSON_UNESCAPED_UNICODE) . PHP_EOL, FILE_APPEND); } ```这种方式灵活度拉满,你想加啥记录字段、想把日志存到哪都能自己改,唯一要注意的就是更新主题之前记得把这段代码拷出来,不然更新完直接就没了。
别觉得装完设置完就万事大吉了,真出问题你得会查才有用。比如站点突然白屏打不开,第一时间翻最近1小时的日志,看有没有新装插件、改主题配置的记录,我上次手残装了个第三方野插件搞崩后台,翻日志看到10分钟前刚装的,直接去FTP删了插件文件夹就恢复了,前后不到2分钟。
要是发现内容被篡改、管理员权限乱了,直接找对应时间点的操作记录,要么找对应操作的管理员核对,要么直接把记录里的异常IP拉黑、给所有管理员改密码,分分钟止损。
哦对了有个很重要的点要提醒你,绝对不要把日志存在web可直接访问的目录下,要么给日志文件夹加禁止访问的规则,要么直接存到网站根目录外面,不然被人爬走了你的管理员IP、操作记录全泄露,反而给黑客送漏洞。定期备份日志也别忘了,真出大问题的时候,日志就是你溯源排查的核心证据,丢啥都不能丢这玩意儿。
上一篇: WordPress统计功能失效修复
易频IT社区是综合性互联网IT技术门户网站,专注分享网络技术、服务器运维、网络安全、编程开发、系统架构、云计算、大数据等行业干货,实时更新IT行业资讯、零基础教程、实战案例,为IT从业者、技术爱好者提供专业的学习交流平台。
Copyright © 2021-2026 易频IT社区. All Rights Reserved. 备案号:闽ICP备2023013482号 网站地图