Logische Sicherheit bei Aktionen des aktuellen Benutzers

Hallo Robert!

Ich habe den Plugin-Code und die Codebase rund um Post-Steuerung (Aktionen) analysiert, um herauszufinden, wo ich mich am besten für die Sicherheit einsetzen kann.

Wie analysiert: Auf der Frontend-Seite gibt es mehrere Schritte, die sicherstellen, ob ein Benutzer einen Beitrag bearbeiten darf oder nicht, wie:

    1. Schritt: SiteSetting.post_menu_hidden_items
    1. Schritt: attrs.canEdit
    1. Schritt: editPost() - !post.can_edit - controllers/topic

Aber selbst wenn das Frontend manipuliert wird, überprüft der Backend-Server in posts_controller.rb bei jedem Aufruf von

def update

erneut den Beitrag, und zwar durch Rails als letzte Sicherheitsmaßnahme:

  • !guardian.public_send(“can_edit?”, post)
  • guardian.ensure_can_edit!(post)
  • PostRevisor

Vielen Dank für deine Einblicke!
Das ist wirklich großartig.