fefrei
(Felix Freiberger)
1
我们遇到了一个隐私问题:版主能够访问他们本不应访问的消息。
据我所知,Discourse 在此涉及两个设计目标:
- 版主不受权限检查豁免,只能阅读他们被邀请加入的消息。
- 当版主使用其权限时,他们所采取的任何操作都会被记录,并且任何工作人员成员都可以检查这些日志。
有时,这两个目标会发生冲突,例如当版主在包含用户消息的帖子中编辑另一位用户的帖子时。在这种情况下,Discourse 会优先考虑目标 2:被编辑用户的帖子会向所有工作人员在工作人员操作日志中显示。
虽然我本人并不认同优先选择目标 2 的决定,但这种情况确实存在一些我认为绝对不可取的边缘案例,甚至接近一个#bug。我们发现的最大问题是:版主目前可以阅读每一条包含外部图片链接的消息,因为 @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 个赞