Invite redemption 允许用户在批准前访问论坛

我们的论坛有以下设置:

  1. login_required ON
  2. must_approve_users ON
  3. min_trust_level_to_allow_invite 2 : member

在测试我们的论坛邀请时,我注意到:

  1. 当一个 TL2 用户通过电子邮件邀请另一位用户 并且
  2. 他们点击电子邮件中的邀请链接 并且
  3. 他们填写字段并提交

这时会发生这种情况 → 他们直接进入论坛(就好像预先批准了一样),并且可以随意阅读。在获得批准之前,他们不应该能够这样做。

他们确实保持未获批准状态。如果他们再次尝试访问该网站,他们会被阻止并显示标准的“您未获批准”消息。

5 个赞

确实,我可以在 2.8.0.beta10 ( bbca25e875 ) 上重现此问题。

3 个赞

我可以在我的测试站点 (17ec3bc5b9) 上确认:

  • 需要登录
  • 必须批准用户
  • TL2 可以发送邀请

而且我的被邀请者可以在“注册访问”时查看和发帖,而无需被批准。

3 个赞

这是一个复杂的情况。

我们目前没有针对“请稍等,直到有人批准您的帐户”的实现。

事实上,我不确定这是否有意义,为什么您要邀请某人加入论坛,然后又阻止他们。

我认为您应立即采取的变通方法是禁止在 tl2/3 上发送邀请……这至少可以消除这个怪癖。

我想我们至少应该在过渡期间,当 must_approve_users 为 ON 时,完全禁用非员工的邀请。

@dan 的想法?

9 个赞

已完成。当然,TL4 级别的用户仍然会遇到这个问题,但我实际上没有 TL4 用户,所以一切都好!

这对我来说是一个永久性的解决方案。

我有点惊讶我的普通用户竟然可以邀请其他人!

6 个赞

我在这件事上很纠结,因为我理解双方的观点。但是,我认为现状有点误导,因为并非所有注册用户都必须获得批准。

在某种程度上,这取决于社区以及你对用户的信任程度。也许将来 must_approve_users 可以是一个下拉菜单:否、是或未受邀请。

我将把这件事列入我的待办事项清单。

6 个赞

已通过 SECURITY: Do not sign in unapproved users (#15552) · discourse/discourse@584c6a2 · GitHub 解决。感谢你的报告 @nathank

6 个赞

此主题已在 31 小时后自动关闭。不允许回复。