Ver Mensaje Individual
  #1 (permalink)  
Antiguo 10/11/2005, 19:11
Avatar de uamistad
uamistad
 
Fecha de Ingreso: diciembre-2004
Ubicación: Cd. de México
Mensajes: 1.395
Antigüedad: 19 años, 4 meses
Puntos: 1
Pregunta Limitar la cantidad de downloads de un usuario.

Hola raza !

Ando viendo cómo puedo limitar la cantidad de descargas que un usuario puede hacer.

Ya se me ocurrió algo, pero no sé si sea una solución muy básica y fácil de brincarla, consiste en lo siguiente:

Juan Pérez tiene derecho a descargar 5 archivos, entonces en una de la tablas de una BD yo puedo colocar el número de archivos que Juan Pérez tiene derecho a descargar, algo como:


id_descarga | id_usuario | id_archivo_path
==========================================
5001 -------- 150 -------- 4
5002 -------- 150 -------- 10
5003 -------- 150 -------- 45
5004 -------- 150 -------- 128
5005 -------- 150 -------- 4444

(ahí están los 5 archivos que tiene derecho a descargar Juán Pérez, que es el usuario 150)

Ahora, Juan Pérez sólo tiene derecho a descargar esos archivos, ni uno sólo adicional.

Estaba pensando en que podría hacer un script llamado downloads.php para que Juan Pérez se descargue sus archivos permitidos. Los enlaces serían algo como:

Código HTML:
/downloads.php?archivo_id=4
/downloads.php?archivo_id=10
/downloads.php?archivo_id=45
/downloads.php?archivo_id=128
/downloads.php?archivo_id=4444
Ese script downloads.php problemente primero tendrá que consultar a la BD si Juan Pérez tiene derecho de descargar el archivo en particular, para ello tendré que monitorear la sesión de Juan Pérez, con el fin de poder hacer dicha consulta.

Si Juan Pérez tiene derecho, entonces ese script le proporcionará el archivo que ha pedido, quizá algo como:

Código PHP:
header("Content-Description: File Transfer");
header("Content-Type: application/force-download");
header("Content-Disposition: attachment; filename=ruta-secreta/contaminacion.pdf"); 
(para obtener ese nombre contaminacion.pdf tuvo que ser necesario consultar la BD, específicamente la tabla que contiene el nombre del fichero con la id=4 o culquier otra id a la que Juan Pérez tiene derecho a descargar.


Lo que no quiero es lo siguiente:
  • Que la ruta-secreta/contaminacion.pdf en realidad no sea tan secreta (a la mejor la vio en la barra de estado) o por cualquier cosa la conoció y ahora ande poniendo por ahí LINKS al documento que se supone sólo pocos pueden ver.
  • Tampoco que Juan Pérez ande descargando a cada rato el documento, pero eso quizá podría arreglarlo colocando en una variable la cantidad de veces que ha iniciado sesión y accesado al documento.

Les agradezco cualquier TIP, o como luego le llaman aquí, algún CABLE para solucionar este problemilla.

Thanks !