Sécurité logique sur les actions de l'utilisateur actuel

Yoo Robert !

J’ai analysé le code du plugin et la base de code concernant les contrôles des publications (actions), afin de déterminer où je pourrais le plus intervenir pour renforcer la sécurité.

Comme analysé ! Du côté du front-end, plusieurs étapes vérifient si l’utilisateur peut modifier ou non la publication, telles que :

  • 1ère étape : SiteSetting.post_menu_hidden_items
  • 2e étape : attrs.canEdit
  • 3e étape : editPost() - !post.can_edit - controllers/topic

Cependant, même si le front-end est manipulé, une fois que la requête est envoyée au serveur back-end dans posts_controller.rb, dans la méthode :

def update

Le serveur re-requête la publication via Rails, comme ultime vérification :

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

Merci pour tes éclairages !
C’est super.