Foros del Web » Programando para Internet » PHP »

evitar descargas de archivos si no se ha iniciado sesión

Estas en el tema de evitar descargas de archivos si no se ha iniciado sesión en el foro de PHP en Foros del Web. Buenas amigos resulta que tengo un problema con la descarga de archivos, necesito validar que un archivo se descargue solo si el usuario que lo ...
  #1 (permalink)  
Antiguo 16/10/2013, 17:58
 
Fecha de Ingreso: septiembre-2011
Ubicación: Bogota Colombia
Mensajes: 11
Antigüedad: 13 años, 1 mes
Puntos: 0
evitar descargas de archivos si no se ha iniciado sesión

Buenas amigos resulta que tengo un problema con la descarga de archivos, necesito validar que un archivo se descargue solo si el usuario que lo descarga a iniciado sesión dentro de la pagina, el problema es que no se debe permitir por ulr directa la descarga del archivo como dije antes ejemplo: www.paginaweb.com/archivos/archivo.txt si no ha iniciado sesion, habia intentado buscar que no listara los archivos configurando el .htaccess del servidor con Options All -Indexes pero el problema es que no deja descargar el archivo desde la misma pagina.
  #2 (permalink)  
Antiguo 16/10/2013, 19:13
Avatar de Triby
Mod on free time
 
Fecha de Ingreso: agosto-2008
Ubicación: $MX->Gto['León'];
Mensajes: 10.106
Antigüedad: 16 años, 3 meses
Puntos: 2237
Respuesta: evitar descargas de archivos si no se ha iniciado sesión

Esa configuración del .htaccess es correcta, ahora sólo te falta tener un manejador de descarga donde recibas el nombre del archivo como parámetro, ejemplo:

descargar.php?archivo=archivo.txt

Un ejemplo sencillo:
Código PHP:
Ver original
  1. <?php
  2. // Aquí verificas que el usuario haya iniciado sesión
  3.  
  4. // Obtienes el nombre del archivo a descargar
  5. $archivo = (isset($_GET['archivo'])) ? $_GET['archivo'] : '';
  6.  
  7. if($archivo == '') {
  8.        die('Petición inválida.');
  9. }
  10.  
  11. // Debes hacer algunas validaciones para no permitir
  12. // que se descarguen cosas indebidas

Para lo demás, sigue esta búsqueda: https://www.google.com.mx/#q=site:fo...rga+de+archivo
__________________
- León, Guanajuato
- GV-Foto
  #3 (permalink)  
Antiguo 16/10/2013, 19:57
 
Fecha de Ingreso: septiembre-2011
Ubicación: Bogota Colombia
Mensajes: 11
Antigüedad: 13 años, 1 mes
Puntos: 0
Respuesta: evitar descargas de archivos si no se ha iniciado sesión

bueno tienes razón en lo de un manejador de descarga pero se presentaría el problema de cuando acceden directo por una url ejemplo www.pagina.com/archivos/archivo.xls lo permitiria descargar, como los buscadores han detectado esos documentos lo colocan en los resultados permitiendo asi ser descargados una solución es que google no indexe carpetas pero aun asi la vulnerabilidad quedaria ya que cualquier persona puede descargar archivos accediendo la ruta del servidor directamente, por eso es que estoy buscando alguna manera de que cuando se acceda determinada carpeta haya alguna forma de comprobar el inicio de sesión antes de realizar la descarga llame a un archivo php desde donde pueda evitar que el archivo se descargue, o que en su defecto solo permita peticiones de descarga realizadas desde el mismo dominio.
  #4 (permalink)  
Antiguo 16/10/2013, 20:23
Avatar de Triby
Mod on free time
 
Fecha de Ingreso: agosto-2008
Ubicación: $MX->Gto['León'];
Mensajes: 10.106
Antigüedad: 16 años, 3 meses
Puntos: 2237
Respuesta: evitar descargas de archivos si no se ha iniciado sesión

Cita:
Iniciado por manuelf0710 Ver Mensaje
... habia intentado buscar que no listara los archivos configurando el .htaccess del servidor con Options All -Indexes pero el problema es que no deja descargar el archivo desde la misma pagina.
Cita:
Iniciado por Triby Ver Mensaje
Esa configuración del .htaccess es correcta, ahora sólo te falta tener un manejador de descarga donde recibas el nombre del archivo como parámetro...
Cita:
Iniciado por manuelf0710 Ver Mensaje
bueno tienes razón en lo de un manejador de descarga pero se presentaría el problema de cuando acceden directo por una url ejemplo www.pagina.com/archivos/archivo.xls lo permitiria descargar...
No se permitiría la descarga directa, configurando bien tu .htaccess no se listarán si descargarán archivos de esa carpeta. Eso lo controlas con el manejador de descargas que lee el archivo y lo envía al navegador.
__________________
- León, Guanajuato
- GV-Foto

Etiquetas: descargas, sesión
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 19:12.