在Discobot thread中标记了一个离题内容后,我想知道Discourse社区是否愿意讨论是否允许一键冒充用户是可以接受的,或者这是否应该仅限于特定场景。
就我个人而言,这就像使用他人的IP或ID一样。这些行为不符合道德规范(首先是道德,其次才是法律或非法)。
我认为,一键冒充用户作为一种解决方案,允许管理员点击一下即可像其他用户一样发帖,也是同样的情况。
我的意思是,更改Discourse中的某些内容需要手动进入应用程序,使用Postgres并处理大量查询中的数据。
为什么在涉及多方观点和不同法律利益的帖子中,冒充用户如此容易?
这可能是大多数用户不知道的,我们都知道管理员可以进入数据库进行更改,但这与点击一个按钮就可以像另一个用户一样发帖完全不同。
如果论坛上发生不好的事情,管理员可以暂停和禁止用户,并且他们对网站负有法律责任。
3 个赞
Jagster
(Jakke Lehtonen)
2
我不是。所以,有些地方是真的,有些地方不是。和 13 年前的年龄限制一样。或者录下自己的电话录音。
因为当解决技术问题和其他问题时,它是一个强大的工具。
对我来说,行为本身并不违法。但我假装成别人时所做的事情可能是违法的。这取决于具体情况。
而且 IP 地址不是个人的私有财产。
4 个赞
作为一名开发人员,Impersonate 是一个非常_出色_且有用的功能,它有助于开发过程,使我能够快速退出管理员角色并进入新用户的角色以检查他们将看到的内容……
14 个赞
Ed_S
(Ed S)
4
我认为这里的重点是,轻松(且不被察觉地)冒充他人可能会违反期望,至少在某些社区是这样。
我们不应从法律角度看待此事——这是一个政策和文化问题,也许是网站管理员可以选择一种方法或另一种方法的政策类型。
有时冒充他人很有用,但也许应该通知被冒充的人。也许在许多情况下,被冒充的人可以批准冒充的请求。
5 个赞
Heliosurge
(Dan DeMontmorency)
9
老实说,我认为这个功能是不必要的,应该被移除。但我想团队有他们让它存在的原因。例如,切换到测试用户账户。
至于用于冒充并公开扮演另一个用户的这个功能,只需点击三下即可更改所有者。
最重要的是,只有选拔得当的管理员才能在位。
这可能会带来麻烦,因为有些管理员只负责维护界面,就像 @pfaffman 的客户案例一样。因为所有管理员都拥有完全权限,但他们不会使用工作之外的功能。如上所述,需要检查他们所在地区的法律;然而,可能需要注意旅行。
使提议的 API 能够授予用户设计师/维护者所需的局部管理员功能。
确实如此,但这可以通过使用专门的测试账户来完成。这取决于最终用户的诚信。正如发帖人所建议的,这可能会被滥用和腐败使用。
2 个赞
Ed_S
(Ed S)
10
我想起了在 Linux 中首次使用 sudo 命令时出现的警告:
我们相信您已经收到了当地系统管理员的 usual lecture。它通常归结为这三件事:
#1) 尊重他人的隐私。
#2) 三思而后行。
#3) 能力越大,责任越大。
也就是说,在首次使用 Impersonate 时,或者每次使用时,管理员都可以看到一个需要点击确认的提示,其中包含有关尊重隐私和诚信行事的消息。
7 个赞
思考片刻,impersonate 函数其实是件好事,而且不仅仅是出于已提出的那些原因。
Impersonate 会在其使用情况记录在管理员日志中。当然,管理员可以通过 rails 控制台或直接在 Postgres 中执行 SQL 查询来删除该条目,但这会留下自己的痕迹(如果其他工作人员查找,他们会看到日志 ID 中出现空白)。
缺乏 impersonate 功能反而会鼓励管理员滥用更隐蔽的替代方法,而这些方法不会被记录下来,我猜任何阅读我刚才所写内容的开发者都已经想到了我接下来要说什么。
想要一个易于隐藏且甚至可以提前数月完成的单一日志条目,这样其他论坛工作人员就不会将两者联系起来?你可以创建一个“所有用户 API 密钥”。1 个日志条目,你可以随时随地以任何人的身份做任何你想做的事情,除非它是一些通常会为该用户记录的操作,否则它不会留下任何痕迹。
7 个赞
在任何情况下,它们通常都是开发环境中的测试账户,但在开发环境中设置测试账户需要额外的工作。这可以避免您必须注销并重新登录,从而减慢您的工作流程,尤其令人烦恼的是必须设置多个密码,这并非愉快的体验,会减慢您的速度,并且在开发中没有任何价值。使用“模拟”功能,您只需记住管理员密码即可。
我只是说明此功能在此特定用例中的额外好处。
4 个赞
simon
13
有点不相关,但这个快多了:
它只在开发环境中工作。它允许您从浏览器的地址栏切换账户。
6 个赞
那也太有用了,谢谢!这又是一项被载入“未公开功能大全”的记录了!
2 个赞
Heliosurge
(Dan DeMontmorency)
15
测试账户创建起来确实花费不了多少时间,在这个想法中,它们将成为 Discourse 安装的标准部分,就像 Discobot 和系统一样。“冒充”功能将被保留,它只会与例如 3 或 4 个测试空账户一起使用,这些账户可以被修改以模拟各种级别的用户。
正如所说,具有高价值观和诚信的人可能不会出于邪恶目的使用“冒充”。尽管如此,这种用法还是很有诱惑力的。而且,如果网站成员知道管理员可以使用他们的账户来冒充他们,他们可能会失去对平台的信任。目前,“冒充”功能仅依赖于诚信,并且没有可选的修复程序,不像“加密插件”那样修复 Discourse 论坛用户的问题,使 PM/DM 像论坛用户期望的那样私密,除非明确说明 DM/PM 不像社区期望的那样安全和私密。此外,我专门询问了“冒充”是否可以用来绕过“加密插件”,Sam 解释并确认它无法规避保护,因为它是一种端到端加密。
我只在我的测试账户上使用“冒充”功能。
3 个赞
并非如此。每次创建测试用户都很麻烦。我经常创建新的开发安装并在开发夹具中运行以求快捷。(据我所知,那些夹具用户没有已知的密码)然后只需添加一个管理员账户,并且模拟功能允许我在 UI 中方便地切换。搞定。
我对你在这里的消极态度感到有些困惑……我只是在称赞该平台有一个有用的功能,我在工作中经常使用它,现在你却在攻击这个功能和我的方法,目的是什么?是为了让我们的生活更艰难吗?我不太欣赏这一点!
2 个赞
kynic
17
“impersonate”功能到底有什么问题?你们为什么小题大做?总之,这个功能非常有用,即使是大型科技公司也在使用这些功能。如果你们谈论隐私,那么管理员可以看到一切,并且可以对网站内容为所欲为。谷歌、Facebook 以及所有大型科技公司都在这样做。这本来就没什么新鲜的。
而且,如果问题出在用户端,为什么开发者要创建账户?在那些情况下,这个功能非常有用。如果你有问题,那就不要使用它。
1 个赞
Heliosurge
(Dan DeMontmorency)
18
我根本没有攻击它。我只是指出这是一个容易被滥用的功能,可能会带来很多问题。通过禁用测试账户,可以解决其潜在的误用问题。至于创建测试账户,我打开了第二个标签页,用一个假的非电子邮件地址创建了账户,然后切回到我的管理员登录账户并进行了验证。
“冒充”绝对是一个有用的工具,如果默认测试账户或管理员面板中的管理员选项能够创建可用于“冒充”的空账户,就能解决潜在的误用问题。
正如我所提到的,如果社区知道管理员账户可以冒充他们,他们可能不会信任这个社区平台。
根据我对你和这里许多优秀人士的了解,他们不太可能滥用这个功能。但是,这个功能的开放性可能会让社区对 Discourse 作为论坛平台失去信任。
公开讨论不应被视为消极的,而应权衡利弊。
3 个赞
Heliosurge
(Dan DeMontmorency)
19
Sam’s Encrypt 插件可阻止管理员和版主查看私信/悄悄话,就像 WhatsApp 等应用程序宣传的那样,它们无法查看对话,除非被邀请。因此,这关闭了私信/悄悄话的查看功能,而该功能可能被视为对预期隐私的侵犯,但并未明确说明它们并非真正私密。
3 个赞
现在你必须用这些新用户创建一些测试主题、帖子、点赞……我可以继续说下去!
这效率不高。
1 个赞
Heliosurge
(Dan DeMontmorency)
21
那么就在所有社区公开宣传管理员可以冒充他们。效率被不信任所取代。
@simon 在开发环境中发布了一个部分还可以的解决方案。
1 个赞
这完全是无关紧要的。如果你真的想阅读用户私密的通信,作为管理员,你可以查看数据库(除非你启用了加密)。
无论如何,作为网站所有者,你都可以访问所有内容,可以进行任何你喜欢的修改,开启或关闭加密,等等。
当你使用第三方系统作为用户时,你无法直接控制人们可以对你的数据做什么。
无论如何,我不是在争论生产环境,我的观点只是说这个功能在开发环境中_也_有其好处,而且很容易证明。
所以从我的角度来看,我对此表示赞同。我现在太忙了,无法再争论下去了。祝你有美好的一天。
3 个赞
kynic
23
那别用 Google、Facebook、Microsoft 以及所有其他公司了,因为它们都在这样做。它们不会公开承认它们可以“冒充”你。它们可以做你能想象到的任何事情,但你仍然信任它们,并且知道它们能做任何事情,所以你仍然使用它们,我不知道真正的问题是什么,伙计。也许你担心你的论坛版主和管理员,但如果任何管理员使用了“冒充”功能,所有操作都会被记录下来。所以我无法理解问题出在哪里。如果此功能有问题,那么 Discourse 团队就不会把它放进来了。
1 个赞
Heliosurge
(Dan DeMontmorency)
24
当然有道理。但在生产环境中使用此功能存在风险。
所以,像其他一些功能一样,可以调整此功能,使其必须在根服务器中启用。
我确实看到了它在开发环境中的价值,因为那里的用户很可能知道这是一个测试环境。
我已经提到使用加密来关闭那个开放的功能。