Seguridad lógica sobre las acciones del usuario actual

¡Hola, Robert!

He estado analizando el código del plugin y la base de código sobre los controles de publicaciones (acciones) para determinar en qué aspectos puedo contribuir más a la seguridad.

Como se analizó: en el front-end hay varios pasos que verifican si el usuario puede editar o no la publicación, como:

  • 1.º paso: SiteSetting.post_menu_hidden_items
  • 2.º paso: attrs.canEdit
  • 3.º paso: editPost() - !post.can_edit - controllers/topic

Pero, incluso si se manipula desde el front-end, una vez que los datos se envían al servidor en el back-end, en posts_controller.rb, dentro de:

def update

Rails vuelve a solicitar la publicación como verificación final:

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

¡Gracias por tus comentarios!
Es genial.