fefrei
(Felix Freiberger)
1
我们遇到了一个隐私问题:版主能够访问他们本不应访问的消息。
据我所知,Discourse 在此涉及两个设计目标:
- 版主不受权限检查豁免,只能阅读他们被邀请加入的消息。
- 当版主行使权限时,他们采取的任何操作都会被记录,并可供任何工作人员检查。
有时,这两者会发生冲突,例如当版主在包含某用户的消息中编辑该用户的帖子时。在这种情况下,Discourse 会优先考虑目标 2:被编辑用户的帖子会向所有工作人员在工作人员操作日志中显示。
虽然我本人已不认同优先选择目标 2 的决定,但该做法确实存在一些我认为绝对不可取的边缘情况,甚至接近于一个贡献类缺陷。我们发现的最大的问题是:目前,版主可以阅读包含外部图片链接的每条消息,因为 @system 会下载该图片、编辑帖子,并将此操作添加到工作人员操作日志中。
我不确定此处正确的解决方向是什么。是否应将版主对工作人员操作日志的访问权限设为可配置?是否禁止查看来自 @system 的工作人员操作日志条目中的帖子?还是让“查看帖子”功能普遍遵守帖子权限设置?
无论如何,我希望此处能有所改变,因为我们目前被迫在 Nginx 层面阻止对工作人员操作日志 API 的访问。
9 个赞
我认为这些编辑不应被记录。
@david 你能确保我们不要记录来自 @system 用户的这些特定编辑吗?(并删除已有的记录)
10 个赞
david
(David Taylor)
4
这已在 FIX: Do not log 'pull_hotlinked_images' edits in the staff action log · discourse/discourse@67a9894 · GitHub 中完成。
请注意,版主仍然可以看到由作者以外的人编辑的私信日志。
自动化处理这一点比较棘手——我们无法确定现有的日志是来自“拉取热链接图片”,还是通过 API 以系统用户身份进行的编辑。@fefrei 如果您希望清除您网站上所有系统编辑的旧日志,可以在控制台中运行类似以下的命令:
UserHistory.where(action: UserHistory.actions[:post_edit], acting_user: Discourse.system_user).destroy_all
9 个赞