arbakker
(Anton Bakker)
1
您好,我们的 Discourse 实例在 /latest.json(最新主题)响应正文中向未经验证的用户显示了 admin 和 trustlevel 字段。
例如,/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. 信任级别字段?
pfaffman
(Jay Pfaffman)
2
这就是问题所在。据我所知,在任何地方都没有将其视为敏感信息。可以通过插件向用户隐藏管理员身份。
1 个赞
pfaffman
(Jay Pfaffman)
4
我写了一个隐藏管理员列表中的用户的方法。我不确定它是否也能隐藏 JSON 加载中的用户,但我认为可能可以。
这是某个更大插件的一部分,所以我认为我无法公开提供。我可以尝试在这里发布关键部分,或者如果您有预算并希望我为您完成,可以联系我。
Falco
(Falco)
5
并非如此。我们甚至在 /about 页面上突出显示了这些信息 
3 个赞
pfaffman
(Jay Pfaffman)
6
我找到了我的。它似乎只是从 /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 个赞
arbakker
(Anton Bakker)
7
我不知道关于页面会列出版主和管理员,所以这解释了为什么它不被视为敏感信息。我已经得到了答案,感谢大家快速的回复,非常感谢!
2 个赞