En mi aplicación de matraz, quiero crear una función para que un usuario pueda consultar la base de datos, hacer que el navegador muestre los resultados en una tabla y luego descargarla en un csv.
¿Es seguro el plan que tengo a continuación? ¿Los usuarios finales podrían manipular el JSON?
Mi plan de diseño general para lograr esto es el siguiente en pseudocódigo:
(Python) extrae Query de la base de datos y coloca los resultados en JSON usando JSONIFY
(Python) devuelve JSON al archivo Javascript
(Javascript) Muestra el JSON en una tabla HTML
(Javascript) El usuario hace clic en el botón y Javascript envía JSON al punto final del matraz
(Python) El punto final de Flask convierte JSON en CSV
Reenviar el JSON al servidor Flask parece una pérdida inútil de ancho de banda (ya que el servidor ya tiene esta información). El servidor Flask debería poder generar una representación CSV, directamente desde la consulta de la base de datos, por ejemplo, utilizando un objeto csv.writer o csv.DictWriter.