![]() |
![]() |
| Paypal | FTP | CCD | Buscar | Trucos | Trabajo | Foros |
|
|||||||
| Registrarse | FAQ | Miembros | Calendario | Guía de estilo | Buscar | Temas de Hoy | Marcar Foros Como Leídos |
![]() |
|
|
Herramientas | Buscar en Tema | Desplegado |
|
|
|
#1
|
|||
|
|||
|
Hola
Como bien dice Xianto este código lo único que hace es obligar al navegador a abrir la ventana de descarga. Si lo que quieres es que no puedan localizar tus archivos puedes hacerlo de dos formas muy fáciles: Primera opción: 1. Identificar al usuario. 2. Cargar en memoria el archivo, con fopen y fread por ejemplo. 3. Mandar las cabeceras ya citadas. 4. Enviar el contenido del archivo que tenemos cargado en memoria Código PHP:
Segunda opción: 1. Identificar al usuario. 2. Copiar el archivo que se va a descargar en una carpeta temporal. Te aconsejo que utilices la funcion tmpfile() para generar un archivo con nombre único para no sobre escribir el que este descargando otro usuario. 3. Mandas las cabeceras. 4. Envias el archivo desde el directorio temporal. 5. Borras el archivo del directorio temporal, con lo que ya no es accesible para nadie. |
|
#2
|
||||
|
||||
|
Cita:
ReadFile lee el archivo real y lo manda al navegador pero éste no sabe de dóde viene. Lo único que sabe es el nombre que se le asigna en el header y el tamaño. // Saludos |
|
#3
|
||||
|
||||
|
Nunca he dado permisos a PHP fuera del /var/html/ me parece un fallo de seguridad, en el que mucha gente esta de acuerdo.
Pero si lo haces o si el host que tienes te lo permite, pues seria correcto roman !
__________________
El diseño dira si tiene futuro... |
|
#4
|
||||
|
||||
|
¿En qué consistiría el fallo? Una cosa son los permisos que php tenga y otra los que apache tenga. El hecho de que php pueda acceder a un directorio fuera de htdocs no implica que apache pueda hacerlo. Claro que si el archivo que inicia las descargas no se protege haciendo las verificaciones adecuadas pues entonces sí es inseguro y da lo mismo donde pongamos los archivos.
EDITO: Sé que puedo equivocarme y estoy abierto a sus argumentos. // Saludos Última edición por roman fecha: 08-01-2006 a las 21:25:33. |
|
#5
|
||||
|
||||
|
De hecho tienes razon roman
ya que apache es solo un modulo de PHP yo utilizo acceso a otros directorios fuera de /var/www/ por ejemplo /home/usuario/ por mi propia comodidad, la unica diferencia es que esa carpeta la tengo abierta a un VHOST que me lo direcciona a http://dominio/usuario/ apache no puede ír más alla de donde tengo indicado el link virtual asi tenga permisos en home solo me redirecciona la hasta /home/usuario
__________________
RyCk |
|
#6
|
|||
|
|||
|
Hola
Cita:
|
![]() |
| Herramientas | Buscar en Tema |
| Desplegado | |
|
|
|