Cita:
Iniciado por ocp001a 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<?php
//código para validar si el usuario tiene o no permiso-------
$file="/home/tuusuario/files/archivo.pdf";
if($usuario_valido){
header('Content-type: application/octet-stream');//header para indicar la descarga del archivo header("Content-length: " . filesize($file)); //header para indicar tamaño del archivo header('Pragma: no-cache');//que no cachee el archivo readfile($file);//Mandamos el contenido del archivo }
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