From: Ivan Rodriguez (
epplestun .en. alaplaya.com)
Date: Mon Mar 22 2004 - 18:27:23 CET
Utiliza sessiones, una vez que el usuario este autentificado
dejas que se
descarge el archivo, y en vez de poner los files en la raiz
de tu server web
ponlos en otra parte y haces un script para que te lo
descarge tal que
podria ser algo asi:
session_start();
if($_GET['PHPSESSID'] != $_SESSION['session']) {
header("location: error.php");
}
$archivo = base64_decode($_GET['file']);
switch(array_pop(explode('.', basename($archivo)))) {
case "doc": $mime_type = "application/msword";
break;
case "rtf": $mime_type = "text/richtext"; break;
case "txt": $mime_type = "text/plain"; break;
case "pdf": $mime_type = "application/pdf"; break;
}
//echo basename($archivo);
header("Pragma: public");
header("Expires: 0");
header("Cache-Control: must-revalidate, post-check=0,
pre-check=0");
header("Content-Type: $mime_type");
header("Content-Disposition: attachment;
filename=\"".basename($archivo)."\"");
header("Content-Description: File Transfert");
header("Content-Transfer-Encoding: binary");
header("Content-Length: ".filesize($archivo));
readfile($archivo);
Esto te podria servir para hacer descargas, el readfile() le
deberias pasar
el archivo de forma que este tenga solo acceso a la ruta del
server.
Un saludo!
Iván Rodriguez Espada
_________________________
ALAPLAYA.COM
http://www.alaplaya.com
epplestun .en. alaplaya.com
----- Original Message -----
From: "BrOkeR" <
brok3r .en. telefonica.net>
To: <
php-es .en. lists.php.net>
Sent: Monday, March 22, 2004 12:19 PM
Subject: Re: [PHP-ES] Aplicacion para descargas privadas
> Lo de evitar darle el link en la
web a un usuario no autentificado es
sencillo.
>
> Lo dificil es que el link que
obtenga un usuario autentificado (ej.
> http://miweb/fichero.zip ) no
pueda ser usado por ningun otro usuario.
>
> Me explico ?
>
> At 10:05 22/03/2004, Marcos
Ramirez wrote:
> >El Monday 22 March 2004 08:40,
Webmaster ALPHACOM escribió:
> >WA> Tambien puedes
comprabar que la ip de usuario es igual que la de la
> >
> >Esto es absurdo a no ser que
hablemos de ip's fijas.
> >
> >WA> persona que se lo
quiere bajar, por ejemplo crearte una tabla mysql
de
> >WA> usuarios activos en ese
momento o guarar en una cookie el usuario
pass e
> >WA> ip por la que accedio,
y en la pagina donde tengas el link comprobar
que
> >WA> el usuario que se lo
quiere descargar coincide con la ip que accedio
si
> >WA> no que no muestre el
link, y ademas para mas seguridad y que no se
pasen
> >WA> usuario y pass de una
persona a otra pon un limite de veces que se
puede
> >WA> descargar ese archivo
un usuario (otra tabla mysql)
> >
> >Esto es más o menos lo
mismo que le dije en el otro mail, pero
añadiendo
el
> >ipcheck, que como ya digo es
absurdo si no hablamos de ip's fijas.
> >
> >Del mismo modo, pide
SEGURIDAD, y guardar nada en una cookie, y
seguridad, no
> >son compatibles.
> >
> >Además, demasiada
complicación planteas, cuando si verifica el
usuario
con
> >user/pass, simplemente que
mire si quien lo quiere bajar es un usuario
> >autentificado, con una simple
variable de sesion vale.
> >
> >Ya sabes, KISS!!
> >
> >--
> >Marcos Ramirez .:: Linux
Registered User #349823 ::.
> >Debian SID Kernel
2.4.22-openmosix-1.
> >
> >Antes de preguntar nada, lee!
y recuerda, Google es tu amigo, yo no.
> >
http://www.sindominio.net/ayuda/preguntas-inteligentes.html
> >
> >--
> >PHP Spanish Localization Talk
Mailing List (http://www.php.net/)
> >To unsubscribe, visit:
http://www.php.net/unsub.php
>
> --
> PHP Spanish Localization Talk
Mailing List (http://www.php.net/)
> To unsubscribe, visit: http://www.php.net/unsub.php
>
-- PHP Spanish Localization Talk Mailing List (http://www.php.net/) To unsubscribe, visit: http://www.php.net/unsub.php
This archive was generated by hypermail 2.1.7 : Fri May 14 2004 - 16:04:41 CEST