facturascripts icon indicating copy to clipboard operation
facturascripts copied to clipboard

proteger todos los metodos seguros

Open elguitarraverde opened this issue 1 year ago • 1 comments
trafficstars

Descripción

  • Actualmente se protege los datos enviados ejecutando el método $this->validateFormToken() pero esto se hace manualmente y depende totalmente de que el desarrollador lo incluya a consciencia, permitiendo brechas de seguridad.
  • Con esta PR se logra dotar a FacturaScripts de una seguridad para poder alterar el estado de la base de datos.
  • La forma de proceder a partir de ahora seria incluyendo el token en todos los métodos que no son seguros(PUT, DELETE, POST) y usar métodos inseguros para consultas a la base de datos(READ ONLY) o funcionamiento de controladores sin que se altere el estado de la base de datos(por ejemplo una paginación no tiene sentido que se envié mediante POST, filtrado de datos o querys que obtengan entidades de la base de datos).
  • De esta forma se obliga también a los desarrolladores de Plugins menos experimentados a dotar de una mínima seguridad a FacturaScripts.
  • https://datatracker.ietf.org/doc/html/rfc7231#section-4.2.1
  • Métodos seguros: GET, HEAD, OPTIONS
  • Métodos inseguros: PUT, DELETE, POST

¿Cómo has probado los cambios?

Toda modificación debe haber sido mínimamente probada. Marca o describe las pruebas que has realizado:

  • [x] He revisado mi código antes de enviarlo.
  • [x] He probado que funciona correctamente en mi PC.
  • [x] He probado que funciona correctamente con una base de datos vacía.
  • [x] He ejecutado los tests unitarios.

elguitarraverde avatar Jan 26 '24 18:01 elguitarraverde

Si, tenía pensado en implementar algo así después de modificar la clase que genera los tokens.

NeoRazorX avatar Jan 26 '24 18:01 NeoRazorX