# 在公共 Discourse 实例中，如何才能让用户列表无法被列出

**URL:** https://meta.discourse.org/t/in-a-public-discourse-instance-how-do-i-make-it-impossible-to-list-all-users/206293
**Category:** Support
**Created:** [2021 年10 月 18 日 00:09 UTC](https://meta.discourse.org/t/in-a-public-discourse-instance-how-do-i-make-it-impossible-to-list-all-users/206293 "2021-10-18T00:09:22Z")
**Posts on this page:** 11
**Page:** 1

<div class="post-metadata">

### 作者： ![meglio](https://sea3.discourse-cdn.com/meta/user_avatar/meta.discourse.org/meglio/32/71444_2.png) [@meglio](https://meta.discourse.org/u/meglio)
#### 发布日期： [2021 年10 月 18 日 00:09 UTC](https://meta.discourse.org/t/in-a-public-discourse-instance-how-do-i-make-it-impossible-to-list-all-users/206293/1 "2021-10-18T00:09:22Z")

</div>

我们创建了一个新的 Discourse 实例。该产品目前处于测试阶段，因此我们设置了多个私密分类和一个公开分类。

如何确保匿名用户绝对无法通过 API 或界面列出所有用户？

我找到的唯一相关设置是：

- 启用用户目录
- 对公众隐藏用户资料

我想 1000% 确定不会以任何方式暴露用户列表。请提供建议。

---

<div class="post-metadata">

### 作者： ![Falco](https://sea3.discourse-cdn.com/meta/user_avatar/meta.discourse.org/falco/32/179432_2.png) [@Falco](https://meta.discourse.org/u/Falco)
#### 发布日期： [2021 年10 月 18 日 00:43 UTC](https://meta.discourse.org/t/in-a-public-discourse-instance-how-do-i-make-it-impossible-to-list-all-users/206293/2 "2021-10-18T00:43:27Z")

</div>

这取决于您具体指的“暴露”用户是什么意思。任何在公开类别中发帖的用户都将是公开的，这取决于您的用户中有多少比例会在该特定类别中进行互动。

---

<div class="post-metadata">

### 作者： ![meglio](https://sea3.discourse-cdn.com/meta/user_avatar/meta.discourse.org/meglio/32/71444_2.png) [@meglio](https://meta.discourse.org/u/meglio)
#### 发布日期： [2021 年10 月 18 日 00:45 UTC](https://meta.discourse.org/t/in-a-public-discourse-instance-how-do-i-make-it-impossible-to-list-all-users/206293/3 "2021-10-18T00:45:08Z")

</div>

> [@Falco](#):
>
> 这取决于您具体所说的“暴露”用户是什么意思。

我的意思是让匿名用户能够查看用户列表。例如，通过 API 列出所有用户，在“顶级用户”中查看列表，通过搜索功能查找，或通过任何我尚未知晓的其他方式。

---

<div class="post-metadata">

### 作者： ![Falco](https://sea3.discourse-cdn.com/meta/user_avatar/meta.discourse.org/falco/32/179432_2.png) [@Falco](https://meta.discourse.org/u/Falco)
#### 发布日期： [2021 年10 月 18 日 00:56 UTC](https://meta.discourse.org/t/in-a-public-discourse-instance-how-do-i-make-it-impossible-to-list-all-users/206293/4 "2021-10-18T00:56:07Z")

</div>

除非您的站点不是公开的（即启用了“需要登录”），否则用户仍可通过 API 列出。

---

<div class="post-metadata">

### 作者： ![meglio](https://sea3.discourse-cdn.com/meta/user_avatar/meta.discourse.org/meglio/32/71444_2.png) [@meglio](https://meta.discourse.org/u/meglio)
#### 发布日期： [2021 年10 月 18 日 02:42 UTC](https://meta.discourse.org/t/in-a-public-discourse-instance-how-do-i-make-it-impossible-to-list-all-users/206293/5 "2021-10-18T02:42:30Z")

</div>

如果我已经禁用了用户目录，这是否是预期的行为？

另外，当你提到列表仍会通过 API 暴露时，你是指对所有匿名用户都开放吗？

---

<div class="post-metadata">

### 作者： ![Falco](https://sea3.discourse-cdn.com/meta/user_avatar/meta.discourse.org/falco/32/179432_2.png) [@Falco](https://meta.discourse.org/u/Falco)
#### 发布日期： [2021 年10 月 18 日 14:18 UTC](https://meta.discourse.org/t/in-a-public-discourse-instance-how-do-i-make-it-impossible-to-list-all-users/206293/6 "2021-10-18T14:18:51Z")

</div>

> [@meglio](#):
>
> 在禁用用户目录的情况下，这是否是预期的行为？

据我所知，该设置的目标仅是移除用户排行榜。

> [@meglio](#):
>
> 另外，当你提到列表仍将通过 API 公开时，你的意思是向所有匿名用户公开吗？

是的。

---

<div class="post-metadata">

### 作者： ![meglio](https://sea3.discourse-cdn.com/meta/user_avatar/meta.discourse.org/meglio/32/71444_2.png) [@meglio](https://meta.discourse.org/u/meglio)
#### 发布日期： [2021 年10 月 18 日 14:20 UTC](https://meta.discourse.org/t/in-a-public-discourse-instance-how-do-i-make-it-impossible-to-list-all-users/206293/7 "2021-10-18T14:20:26Z")

</div>

能否将其作为功能请求提出？即在保留部分公开分类的同时，使列出所有用户变得不可能。

---

<div class="post-metadata">

### 作者： ![merefield](https://sea3.discourse-cdn.com/meta/user_avatar/meta.discourse.org/merefield/32/176214_2.png) [@merefield](https://meta.discourse.org/u/merefield)
#### 发布日期： [2021 年10 月 18 日 14:24 UTC](https://meta.discourse.org/t/in-a-public-discourse-instance-how-do-i-make-it-impossible-to-list-all-users/206293/8 "2021-10-18T14:24:11Z")

</div>

这是因为，如果公共主题列表在任何情况下都以不可预测的数量暴露了相关数据，那么隐藏这些数据就被认为徒劳无益吗？

---

<div class="post-metadata">

### 作者： ![meglio](https://sea3.discourse-cdn.com/meta/user_avatar/meta.discourse.org/meglio/32/71444_2.png) [@meglio](https://meta.discourse.org/u/meglio)
#### 发布日期： [2021 年10 月 18 日 14:25 UTC](https://meta.discourse.org/t/in-a-public-discourse-instance-how-do-i-make-it-impossible-to-list-all-users/206293/9 "2021-10-18T14:25:10Z")

</div>

在我们的具体案例中，有一群人正在从事某项工作，但只有该小组的少数成员对公开类别做出了贡献。

---

<div class="post-metadata">

### 作者： ![Falco](https://sea3.discourse-cdn.com/meta/user_avatar/meta.discourse.org/falco/32/179432_2.png) [@Falco](https://meta.discourse.org/u/Falco)
#### 发布日期： [2021 年10 月 18 日 15:39 UTC](https://meta.discourse.org/t/in-a-public-discourse-instance-how-do-i-make-it-impossible-to-list-all-users/206293/10 "2021-10-18T15:39:21Z")

</div>

> [@merefield](#):
>
> 这是因为，无论如何，如果公开主题列表中以不可预测的方式暴露了部分数据，那么隐藏这些数据就被认为是徒劳的吗？

我不认为这是有人特意计划的，Discourse 主要有两种基本模式：公开和私有。隐藏排行榜的设置正如字面意思所示，它只是隐藏排行榜。为什么要额外做其他事情呢？

> [@meglio](#):
>
> 能否将其作为一个功能请求？即在保留部分公开分类的同时，使列出所有用户变得不可能？

欢迎撰写一份您所需功能的具体说明。但鉴于这是一项_非常_枯燥的工作，且属于极其小众的使用场景，如果您希望尽快看到该功能实现，将其发布到 #Marketplace 可能会有更大的机会。

---

<div class="post-metadata">

### 作者： ![merefield](https://sea3.discourse-cdn.com/meta/user_avatar/meta.discourse.org/merefield/32/176214_2.png) [@merefield](https://meta.discourse.org/u/merefield)
#### 发布日期： [2021 年10 月 18 日 15:54 UTC](https://meta.discourse.org/t/in-a-public-discourse-instance-how-do-i-make-it-impossible-to-list-all-users/206293/11 "2021-10-18T15:54:59Z")

</div>

因此，目前看来，如果您重视核心小组的_完全_隐私，启动两个实例似乎是明智的。这很合理。

话虽如此，无论如何，这并不会暴露电子邮件地址。
