latest.json 包含 admin 和 trustlevel 字段 - 未登录时

您好,我们的 Discourse 实例在 /latest.json(最新主题)响应正文中向未经验证的用户显示了 admintrustlevel 字段。

例如,/latest.json 列表中的用户显示为:

{
  "users": [
    {
      "id": 32,
      "username": "Beeblebrox",
      "avatar_template": "/user_avatar/my-discourse.org/beeblebrox/{size}/1_1.png",
      "flair_name": null,
      "admin": true,
      "trust_level": 1
    }
  ],
  "primary_groups": [],
  "flair_groups": [],
  "topic_list": []
}

我认为用户是否为管理员是敏感信息;是否有可能在 /latest.json 响应页面中 1. 对未经验证的用户和 2. 对所有用户隐藏 a. 管理员和 b. 信任级别字段?

这就是问题所在。据我所知,在任何地方都没有将其视为敏感信息。可以通过插件向用户隐藏管理员身份。

1 个赞

感谢您快速回复!您具体指的是什么:

It’s possible to hide from users who admins are on s plugin.

s plugin 是一个特定的插件吗?

我写了一个隐藏管理员列表中的用户的方法。我不确定它是否也能隐藏 JSON 加载中的用户,但我认为可能可以。

这是某个更大插件的一部分,所以我认为我无法公开提供。我可以尝试在这里发布关键部分,或者如果您有预算并希望我为您完成,可以联系我。

并非如此。我们甚至在 /about 页面上突出显示了这些信息 :smile:

3 个赞

我找到了我的。它似乎只是从 /admin 页面移除了管理员:

  require_dependency 'admin_constraint'
  add_to_serializer(:about, :admins) do
    object.admins.reject { |u|
      puts "REJECT: #{u.emails.first} "
      u.emails.first =~ HIDDEN_EMAIL_REGEXP
    }
  end
2 个赞

我不知道关于页面会列出版主和管理员,所以这解释了为什么它不被视为敏感信息。我已经得到了答案,感谢大家快速的回复,非常感谢!

2 个赞