| |||
Como Puedo Proteger la direcciones de los archivos? Wenas mi idea es a ver si alguien sabe como puedo hacer pa que no salga la url de los archivos cuando se descarga sino q salga algo simliar a descargar.php?ID=21 o algo asi si que se vea http://rutadedondestan.com/carpeta/archivo.zip |
| |||
Si envias las siguientes cabeceras en tu script descargar.php deberia funcionar: header("Content-Type: application/download\n"); header("Content-Disposition: attachment; filename=$file"); Donde la variable $file contiene el fichero a descargar, cuya ubicación lo has obtenido de la base de datos. |
| |||
Código PHP: No sale, simplmente se abre la pagina y se queda sin descargar nada. ![]() |
| |||
A todo esto .. es ALTAMENTE recomendable que "pongan" esos archivos en un directorio FUERA del "documentRoot" .. osease, en servicios de hosting suele ser el "documentRoot" de tu sitio el /www/ y arriba tinen el cgi-bin y alguno mas .. bien, sería crear un directorio ahí "arriba" del /www/ para que ese archivo NO quede accesible via una llamada directa tipo: http://.... Tambien Apache dispone de sus .htaccess para proteger directorios y archivos de llamadas externas (con lo cual solo quedarían accesibles via llamadas desde PHP por ejemplo .. haciendo un readfile() y entregandolo con las cabeceras HTTP que pusieron) .. NO es necesario que el nombre del archivo o el archivo en sí está en una BD .. SOLO el directorio ha de estar protegido via .httacces o bien arriba del "documentroot". Un saludo,
__________________ Por motivos personales ya no puedo estar con Uds. Fue grato haber compartido todos estos años. Igualmente los seguiré leyendo. |
| |||
UmMm el problema está en que los archivos son externos al servidor, es decir que no estan hostpedados en el servidor. Se podria hacer una sesion o algo poara ocultar la url o algo similar??? |
| |||
Pues si no los tienes en tu servidor donde ejecutas PHP .. usa .htaccess en el directorio del servidor que haces referencia .. Y si eso no te es posible ... como no subas los archivos a un FTP y los accededas via FTP desde PHP .. creo q toda técnica de "ocultar" esa ruta sería poco efectiva... De todas formas.. si tu servidor (donde corres PHP) te permite abrir direcciones externas via fread() o fopen() .. podrías usar la técnica que te plantearon que usa cabeceras (header) HTTP ... Haz una prueba indicando el nombre del archivo con ruta URL completo: http://www.talsitiofueradelmio.com/archivos/archivo.tal Un saludo,
__________________ Por motivos personales ya no puedo estar con Uds. Fue grato haber compartido todos estos años. Igualmente los seguiré leyendo. Última edición por Cluster; 28/04/2003 a las 13:30 |