确认两者都设置为“所有人”后,/u?exclude_groups=admins 会被正确执行。
但这同时也允许未登录用户访问 /g/admins。
谢谢。我暂时先恢复原状。
确认两者都设置为“所有人”后,/u?exclude_groups=admins 会被正确执行。
但这同时也允许未登录用户访问 /g/admins。
谢谢。我暂时先恢复原状。
所以,基本的解决方案是暴露管理员组,以便隐藏(排除)它。
是的——你公开了该群组中成员的信息,从而可以利用这些数据在其他地方隐藏这些成员。如果不知道你想隐藏谁,就无法隐藏任何人。
在这张截图中,我到底在哪里能看到他是管理员?我只注意到有一个标识表明他是团队组的成员。但团队组并不等同于管理员组。团队组对未登录用户也是可见的。所以我不明白你究竟发现了什么隐藏信息。
“团队”列在 https://meta.discourse.org/g/admins 上。
再次强调,我的问题并不在于这些。我至少能够通过仅使用 CSS,从首页的 Right Sidebar Blocks 插件中移除管理员用户。
.top-contributors--user:has([data-user-card="admin_username"]) {
display: none;
}
再次说明,这并非安全问题;而是关于该用户始终在列表中排名第一,这确实也在许多论坛上暴露了管理员的身份。
我会查看 https://meta.discourse.org/u,但根据上述讨论,这仅仅是 Discourse 的核心运作方式。另一个选项是禁用 enable_user_directory。但这也会同时禁用侧边栏的“顶级贡献者”列表,而这正是我们最关注的部分。
你链接的管理员组有 76 名成员。而徽章所指的团队组(这就是你悬停时看到“团队”的原因)有 79 名成员 https://meta.discourse.org/g/team。这两者并不相同。
是的,但没必要老调重弹,只需 15 秒即可注册,然后访问:https://meta.discourse.org/g/admins
这对管理员组来说可能是成立的。但如前所述,某些论坛可能仅限邀请加入,因此您无法执行该操作;或者该组的可见性受到进一步限制。例如,只有组成员才能看到他们所属的组。此时,只有他们能够按这些成员筛选目录。
好的,我通过 CSS 成功实现了所需的效果,不仅适用于首页侧边栏,现在也适用于 /u 页面:
html.anon .top-contributors--user:has([data-user-card="admin_username"]),
html.anon .directory-table__row:has([data-username="admin_username"]) {
display: none;
}
希望这对其他只想将管理员从“收到点赞”排行榜顶部排除的用户有所帮助。尤其是在像我这样不太活跃的论坛中。