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
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");
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 !