实习审核员的账号能调用删除接口,一次误操作删了 1200 条评论,操作日志里只有账号,没有角色和来源 IP。碰到这种情况,我一般先确认改动有没有真的生效。
原因不复杂,后台只分了登录和未登录,所有审核功能共用一个角色。删除接口没有二次校验,也没限制单次数量。
「审核员权限过大」相关的日志我一般连着看前后五分钟,单看一条报错经常判断不出是哪一步失败。报错里带路径的,先去看那个路径在不在、权限对不对。
GRANT UPDATE ON audit_task TO 'reviewer'@'%'; REVOKE DELETE ON comments FROM 'reviewer'@'%';
同一份配置存在多处的,先确认改的是被加载的那一份。新版本先放一台机器上跑一天再全量,问题一般在这段时间暴露。
备份不是备了就行,恢复一次才算数,很多备份文件打开才发现是空的。
具体做法是,按角色拆权限,审核员只能改状态,删除只给管理员;删除接口加数量上限和二次确认;所有写操作记角色和 IP,便于追责。
最后用这个标准收尾,审核员账号调用删除接口返回 403,状态修改仍然正常。
