¿Cuáles son las mejores prácticas para almacenar archivos cargados de usuarios?Mejores prácticas para almacenar archivos cargados en el sistema de archivos
Actualmente, soy durante el siguiente método para almacenar archivos:
<web_app_root>/course_material/<term_id>/<course_id>/<file_id>
Como se puede ver, los archivos se almacenan de acuerdo con las llaves en la base de datos. Pensé que esto era más seguro, ya que no tendría que filtrar los nombres de los archivos y convertir los caracteres no seguros en caracteres seguros.
Sin embargo, estoy comenzando un nuevo proyecto y quería saber si era una mala idea vincular el sistema de archivos de una aplicación web tan de cerca con una base de datos. ¿Debo almacenar archivos en un formato legible para humanos?
<web_app_root>/course_material/<term_name_underscored>/<course_name_underscored>/<file_name_underscored>
Si es así, ¿cuáles son las mejores formas de filtrar los nombres de los archivos para estar seguros? ¿O la forma en que lo estoy haciendo actualmente es una mejor práctica?
Mientras el directorio de archivos esté fuera del directorio htdocs, todo debería estar bien ¿no? Solo quiero mantener todo lo relacionado con un proyecto específico en su propio directorio. – rlorenzo
Hablando de seguridad. Pero un disco separado es la mejor solución. – user32415