Latest.json enthält admin- und trustlevel-Felder – wenn nicht angemeldet

Hallo, unsere Discourse-Instanz zeigt die Felder admin und trustlevel für den Benutzer in der Antwort von /latest.json (neueste Themen) für nicht authentifizierte Benutzer an.

Zum Beispiel wird ein Benutzer in der Liste /latest.json wie folgt angezeigt:

{
  "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": []
}

Ob ein Benutzer Administrator ist, ist meiner Meinung nach eine sensible Information. Ist es möglich, das Feld a. admin und b. trust_level in der Antwortseite /latest.json für 1. nicht authentifizierte Benutzer und 2. alle Benutzer nicht anzuzeigen?

Das ist das Problem. Soweit ich weiß, wird es nirgendwo als sensibel behandelt. Es ist möglich, in einem Plugin zu verbergen, wer Administrator ist.

1 „Gefällt mir“

Vielen Dank für die schnelle Antwort! Was genau meinen Sie mit:

Es ist möglich, sich vor Benutzern zu verstecken, die Administratoren in einem Plugin sind.

Ist ein Plugin ein bestimmtes Plugin?

Ich habe eine geschrieben, die meinen Benutzer aus der Admin-Liste ausblendet. Ich bin mir nicht ganz sicher, ob sie meinen Benutzer aus dieser JSON-Ladung ausblendet, aber ich glaube, das könnte der Fall sein?

Es war Teil eines größeren Plugins, daher glaube ich nicht, dass ich diesen Teil öffentlich verfügbar habe. Ich kann versuchen, die wichtigsten Teile hier zu posten, oder Sie können mich kontaktieren, wenn Sie ein Budget haben und möchten, dass ich es für Sie erledige.

Das ist es nicht. Wir heben diese sogar prominent auf der /about-Seite hervor :smile:

3 „Gefällt mir“

Ich habe meines gefunden. Es sieht so aus, als würde es den Administrator nur von der /admin-Seite entfernen:

  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 „Gefällt mir“

Ich wusste nicht, dass die Über-uns-Seite Moderatoren und Administratoren auflistet. Das erklärt, warum sie nicht als sensible Informationen behandelt wird. Ich habe meine Antwort, danke an alle für die schnellen Antworten, sehr geschätzt!

2 „Gefällt mir“