Foros del Web » Programando para Internet » PHP »

Proteger archivos usuarios registrados

Estas en el tema de Proteger archivos usuarios registrados en el foro de PHP en Foros del Web. Hola tengo un sistema de descargas de archivos, de forma que es obligatorio estar identificado para realizar la descarga. Código: $ref=$_GET["ref"]; $SQL="SELECT Archivo FROM tabla_archivos ...
  #1 (permalink)  
Antiguo 13/04/2007, 07:59
 
Fecha de Ingreso: junio-2003
Mensajes: 778
Antigüedad: 20 años, 10 meses
Puntos: 1
Proteger archivos usuarios registrados

Hola

tengo un sistema de descargas de archivos, de forma que es obligatorio estar identificado para realizar la descarga.

Código:
$ref=$_GET["ref"];
$SQL="SELECT Archivo FROM tabla_archivos WHERE Referencia='$ref'";
$con=mysql_query($SQL) or die (mysql_error());
$referen=mysql_fetch_array($con);

$path = "privado/docs";
$archivo = $referen ["Archivo"];
$enlace = $path."/".$archivo;

header('Content-type: application/pdf');
header('Content-Disposition: attachment; filename="'.$enlace.'"');
header ("Content-Length: ".filesize($enlace));
header("Pragma: no-cache"); 
header("Expires: 0");  
readfile($enlace);
El problema es que cuando hago la descarga, el fichero tiene el nombre con la ruta completa, por lo que la protección no me sirve de mucho... ¿Como puedo evitar esto?

Gracias a todos
  #2 (permalink)  
Antiguo 13/04/2007, 09:07
Avatar de mauled  
Fecha de Ingreso: marzo-2005
Ubicación: Cd. de México.
Mensajes: 3.001
Antigüedad: 19 años, 1 mes
Puntos: 33
De acuerdo Re: Proteger archivos usuarios registrados

Pues si es necesario estar registrado, levanta una sesion, y en la página en donde realizas la descarga, verificas que la sesion esta inicializada y ademas de si tiene los pérmisos adecuados.

Saludillos.
  #3 (permalink)  
Antiguo 13/04/2007, 09:15
 
Fecha de Ingreso: junio-2003
Mensajes: 778
Antigüedad: 20 años, 10 meses
Puntos: 1
Re: Proteger archivos usuarios registrados

No me explique bien.
La descarga y la validación de usuarios está correcta.
Lo que pasa es que al descargar el archivo, se baja renombrado con la ruta de acceso: archivos pdf nombredearchivo.pdf, ya que hago readfile($enlace); y $enlace en la concatenación del path y del nombre del archivo...
  #4 (permalink)  
Antiguo 13/04/2007, 09:35
Avatar de GatorV
$this->role('moderador');
 
Fecha de Ingreso: mayo-2006
Ubicación: /home/ams/
Mensajes: 38.567
Antigüedad: 17 años, 11 meses
Puntos: 2135
Re: Proteger archivos usuarios registrados

Pues solo cambia esta linea:
Código PHP:
header('Content-Disposition: attachment; filename="'.$archivo.'"'); 
  #5 (permalink)  
Antiguo 17/04/2007, 12:32
 
Fecha de Ingreso: junio-2003
Mensajes: 778
Antigüedad: 20 años, 10 meses
Puntos: 1
Re: Proteger archivos usuarios registrados

Ya hombre, pero entonces no de puede descargar el fichero por que no encuentra la ruta (que es $path)

Alguna sugerencia o alternativa??
  #6 (permalink)  
Antiguo 18/07/2007, 00:21
 
Fecha de Ingreso: junio-2003
Mensajes: 778
Antigüedad: 20 años, 10 meses
Puntos: 1
Re: Proteger archivos usuarios registrados

Alguien tiene alguna alternativa??

Gracias
  #7 (permalink)  
Antiguo 18/07/2007, 03:28
Avatar de jerkan  
Fecha de Ingreso: septiembre-2005
Mensajes: 1.607
Antigüedad: 18 años, 7 meses
Puntos: 19
Re: Proteger archivos usuarios registrados

La opción que te puso GatorV no te sirve? Yo creo que debería funcionar perfectamente. En esta línea:
Código PHP:
header('Content-Disposition: attachment; filename="'.$archivo.'"'); 
le estás diciendo al php qué nombre tiene que tener el archivo. No la url del mismo.
  #8 (permalink)  
Antiguo 18/07/2007, 06:33
Avatar de _ssx  
Fecha de Ingreso: mayo-2003
Ubicación: mX
Mensajes: 683
Antigüedad: 20 años, 11 meses
Puntos: 60
Re: Proteger archivos usuarios registrados

Creo que a lo que se refiere, es que cuando baja el archivo el gestor de la descarga le indica el path de donde fue bajado, y que de alguna manera el usuario puede dar esa URL a otra persona y asi podria descargarlo tambien saltandose el login.. yo creo que lo que necesitas es proteger la carpeta con y modificar algunos parametros del .htaccess.. para solo permitirle que invoque a los archivos por medio de otro script y no dela propia url

http://dev.cmsmadesimple.org/frs/sho...release_id=887
__________________
Escribe tu código de forma que refleje, y saque a relucir,lo mejor de tu carácter personal
www.oscararzola.com/blog
Principios de un programador
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 04:56.