dolarsrg ...
PHP no sólo puede leer archivos que estén bajo tu "document root" .. osese, que puedes accederlos si conocer su ruta relativa:
http://www.tal.tal/ruta ...
PHP puede leer un archivo en el sistema de archivos del servidor con tal de que tenga permisos para su lectura ..
Ejemplo:
Linux:
Código PHP:
readfile("/var/sitio1/nose/archivo.tal");
windows:
Código PHP:
readfile("c:\nose\archivo.tal");
(Rutas Absolutas .. suponiendo que si usas un servicio de hosting por ejemplo dispongas de un directorio propio superior a tu "document_root" como el típico www o htmldoc o algo así ..)
A si mismo combinando cabeceras HTTP adecuadas (header("content-type .. ") etc .. Y un sistema de registro de usuarios los cuales sean verificados para ejecutar el script en cuestión que realice ese "readfile()" .. ya tendrás tus archivos protegidos y a la espera de que los descarge quien esté autorizado.
Por mucho que conozcan la ruta absoluta .. quedaría fuera del "document_root" así que no podrían llegar por el "URL".
SI no se dispone de un directorio para almacenar los archivos -fuera- del "document_root" .. Sólo cabe usar restricción de acceso a los archivos directametne por un .htacces (y opciones de LIMIT GET .. y demás ... )
Un saludo,