Ver Mensaje Individual
  #5 (permalink)  
Antiguo 26/08/2014, 14:48
andreiya
 
Fecha de Ingreso: diciembre-2013
Mensajes: 37
Antigüedad: 11 años
Puntos: 1
Respuesta: Acceso publico a archivo que deberían ser privados

Cita:
Iniciado por ocp001a Ver Mensaje
Es simple, todo lo que esté fuera de tu carpeta public_html no se podrá acceder a menos que hagas un script que lo permita, por ejemplo, podrías crear una carpeta "files" en tu esquema:


-log
-public_ftp
-etc
-files
- mail
- tmp
- public_html

Y para acceder a lo contenido en esta carpeta debes crear un script, por ejemplo:
descargas.php
Código PHP:
Ver original
  1. <?php
  2. //código para validar si el usuario tiene o no permiso-------
  3.  
  4. $file="/home/tuusuario/files/archivo.pdf";
  5.  
  6. if($usuario_valido){
  7.    header('Content-type: application/octet-stream');//header para indicar la descarga del archivo
  8.    header("Content-length: " . filesize($file)); //header para indicar tamaño del archivo
  9.    header('Pragma: no-cache');//que no cachee el archivo
  10.    readfile($file);//Mandamos el contenido del archivo
  11. }

Puedes mejorar el esquema, por ejemplo creando enlaces temporales para que no puedan descargar los archivos después de cierto tiempo, y otros tipos de validaciones.
Gracias, ocp001a tanto por tu pieza de código como por tu explicación e ideas nuevas que me has dado. Es increible lo que se puede ir haciendo poco a poco mientras se aprende. Pondré en práctica la solución este fin de semana y postearé el resultado. Un beso