Ver Mensaje Individual
  #6 (permalink)  
Antiguo 13/12/2007, 08:49
Avatar de popobcn
popobcn
Moderador
 
Fecha de Ingreso: noviembre-2006
Ubicación: Cerdanyola del Vallès
Mensajes: 3.892
Antigüedad: 17 años, 5 meses
Puntos: 1142
Re: Proteger descargas, métodos..

Buenas de nuevo Raulii...

Pues si, te he entendido mal... y consultando con el "oraculo" .oO(Google) he encontrado varias entradas que hacen referencia a la modificacion de las URL mediante cabeceras... De hecho, ahi por ahi corriendo scripts completitos que modificando tan solo los archios de ejemplo por los correspondientes (o mejor variables xD ) darían el pego.

Aqui he encontrado códigos relacionados con tus inquietudes:

www.webnova.com.ar/codigo-fuente.php?recurso=214
http://www.webtaller.com/construccio...cargas-php.php

Sobre cual puede ser el mejor de todos ellos, Ni idea la verdad, nunca ha despertado mi interés el tema de las descargas o mejor dicho, aún no ha surjido la necesidad de protegerlas... creo que este es un tema interesante, ya que en GOOGLE aparecen 700.000 mil temas relacionados con esto, pero a saber cual es realmente el mejor de ellos :)

Rebuscando por ahi, he encontrado este código que cumple estas funciones:

Código PHP:
<? 
/* 
Copyright (c) 1999 Marcel Lemmen 
       E-mail: [email][email protected][/email] 
       All  rights  reserved. 
*/ 

$files=array( 'track01.mp3''escreen.exe'); 
$filenames=array( 'Thank ABBA for the music.mp3''Escreen.exe'); 
$additional_info=array( 'Various artists - Thanx ABBA for the music 
: 4978602 by 
tes'
'Shareware program to make a screenshot: 529920 bytes'); 
$url="/home/lemmen/public_html/data/"
/* When the files are on another server, use the 
   whole address ([url]http://www.server.com/dir/[/url]) in stead of 
/home/lemmen... */ 
        
$referer=ereg_replace"\?.""",$HTTP_REFERER);  
$thisfile="http://$HTTP_HOST$PHP_SELF"
        
if (
$referer!=$thisfile){ 
        echo 
"<center><big>Homepage: <a 
href=\"http://home.support.nl/~lemmen\"> 
http://home.support.nl/~lemmen</big><br><hr><br><br></center>"

        for (
$i=0;$i<count($files);$i++) 
        echo  
"<P><A 
HREF=\"$PHP_SELF?$i\">"
,$filenames[$i], "</A> 
$additional_i 
nfo[$i]\n"


else { 
        
$i=$QUERY_STRING
        
$total=$url $files[$i]; 
        
Header "Content-Type: application/octet-stream"); 
        
Header "Content-Length: ".filesize($total)); 
        
Header"Content-Disposition: attachment; 
filename=$filenames[$i]"
); 
        
readfile($total); 

?>
Espero que te sirva de algo.

Saludos.