FEATURED ARTICLE

回收站里躺着你看不到的文档,点一下还能恢复

阅读位置

大多数应用只在记录活着的时候查一遍权限,删掉之后就不管了。回收站页面跑的是自己那套查询,大致就是 deleted_at IS NOT NULL AND workspace_id = ? ,查出来什么就显示什么。标题、所有者,只要你能打开回收站,全都能看见。 于是共享工作区里的一个普通成员,打开回收站,看到一份叫「Q4 重组计划」的文档——它原本躺在一个他从没权限进的私密文件夹里。更糟的是,有些应用还让他点「恢复」,文档回来的时候,最后编辑人一栏写的就是他。 问题出在权限检查被拆成了两套逻辑:正常列表一套,回收站一套。而回收站这套,往往只按工作区过滤,忘了记录被删之前属于谁、放在哪。 修法其实不复杂,关键是别偷懒。 回收站列表要跑和正常列表一样的读取检查,用的是记录被删前那一刻的权限。 这意味着删除行上得保留父文件夹 ID,检查才有东西可查。 恢复要当成独立检查:用户既要有这条记录的编辑权,也要有它要回去的那个文件夹的写权限。 永久删除只留给管理员没问题,但回收站列表本身,永远不该显示用户删之前看不到的东西。 很多人会想,删都删了,还查什么权限。可回收站不是归档,它是给用户看的界面,界面就得守同一套规矩。删掉的是记录的状态,不是它的归属关系。 测试方法也简单:用一个用户把文档放进私密文件夹,删掉;再用第二个不在那个文件夹里的用户打开回收站。如果标题冒出来了,说明你的回收站视图跳过了权限检查。 这类漏洞不吵不闹,不会报错,也不会触发告警。它只是安静地把一份你不该知道的文档标题,摆在了一个你不该看到它的地方。 特别

about image
返回资讯列表

分享这篇内容

如果文章对您有所帮助,欢迎将链接分享给感兴趣的朋友。