Estoy empezando un proyecto muy parecido a un disco duro virtual. Se trata de lo siguiente:
Una persona tiene su cuenta y como administrador de ella puede ver, editar y eliminar sus archivos. A su vez esa persona puede dar permisos limitados (solo lectura o lectura y edicion) a otras personas sobre sus archivos.
He estado leyendo sobre el tema del almacenamiento de archivos (los tipos de archivos seran generalmente imagenes)
y he encontrado 2 formas
- Almacenamiento de los archivos directamente en la base de datos
- Usar el sistema de archivos para almacenamiento, pero la ruta guardarla en la base de datos.
En lo personal me inclino por la segunda opcion... por un tema de tamaño de la base de datos y administracion de ésta.
Pero.. como puedo controlar los permisos de los usuarios sobre los archivos?...¿como controlo que el usuario "X" tiene solo permisos de lectura sobre los archivos del usuario "Y"
Necesito que la aplicacion sea lo mas segura que se pueda... es decir tratar de evitar de todas las formas posibles que usuarios no autorizados vean , modifiquen o eliminen archivos a los cuales no tiene ese tipo de permiso.
Espero sugerencias y comentarios.
Gracias
P.D. la base de datos es MySql y el lenguaje de programación es PHP