Backend, APIs y datos · Mixto

Archivos y almacenamiento de objetos

En una línea: Los archivos no pertenecen a la base de datos ni al disco del servidor, sino al almacenamiento de objetos con direcciones firmadas.

Por qué no en el servidor

Los archivos en un disco local rompen múltiples instancias, la copia de seguridad y el despliegue. En el almacenamiento de objetos obtienes durabilidad, acceso directo desde una red de distribución y una política de ciclo de vida.

El flujo correcto

El servidor emite una dirección firmada de vida corta; el cliente sube directamente; el servidor recibe una notificación y actualiza el registro. Menos carga, menos coste y menos espera para el usuario.

En la descarga: el mismo principio. Una dirección firmada con caducidad, para que un enlace filtrado no sea eterno.

Qué comprobar en el servidor

El tipo de archivo por contenido y no por extensión, un límite de tamaño, y un análisis de contenido malicioso cuando los usuarios suben a otros. Y los nombres de archivo: nunca guardes el nombre que dio el usuario como ruta en el sistema.

En profundidad

Fija una política de ciclo de vida para los medios: qué se borra, cuándo y cómo. El almacenamiento es la partida que crece en silencio, y sin política simplemente crece.