Ver Mensaje Individual
  #1 (permalink)  
Antiguo 20/05/2014, 03:28
Avatar de clopezp86
clopezp86
 
Fecha de Ingreso: junio-2011
Ubicación: Abrera (Barcelona)
Mensajes: 22
Antigüedad: 12 años, 10 meses
Puntos: 4
Debate: Leer directorios VS Consulta Mysql

Ayer en una de las reuniones llegó un debate interesante y que me gustaría comentaros para contrastar vuestras opiniones:

Problema:
Tenemos X usuarios que tienen unas carpetas específicas cuyo nombre está codificado en SHA y MD5, cada carpeta es única y dentro de ella pueden haber más directorios (hasta 5).

Se declararon dos ideas de solución:

Solución A:
Guardar en BD el usuario, carpeta y URL de cada archivo almacenado, relacionándolo con el usuario.

De esta forma se evita que otros usuarios accedan por URL a un directorio ajeno y descarguen o adquieran los archivos del otro usuario sin permiso.


Solución B:
Partimos de la base de que cada carpeta es única e intransferible.
Crear un script para que recorra la carpeta que coincida con el código de seguridad aplicado (SHA y MD5 de un HASH por usuario), devolver al usuario todos los directorios y archivos de esa carpeta madre.


Después de mucho debatir, no llegamos a ningún lado..... básicamente porque cada archivo ha de pasar un control se seguridad que estará almacenado en la BD.
Por ejemplo:
Archivo público = INT (0/1)
Fecha de Caducidad = DATETIME

Por este último dato yo escogí la Opción A, sin embargo mis muchachos me dijeron la siguiente cita:
Cita:
PHP Es más rápido leyendo directorios y subdirectorios que mysqli haciendo una consulta a BD de los archivos que tenga almacenados un usuario en una carpeta.
Pero.... hasta que punto PHP es más rápido que MYSQLi? Hablamos de tiempo real a ojo humano (segundos, minutos)? o tiempo de proceso a nivel máquina(Microsec)?

Un saludo.