Foros del Web » Programando para Internet » PHP »

Cómo hace megaupload y otros para limitarnos?

Estas en el tema de Cómo hace megaupload y otros para limitarnos? en el foro de PHP en Foros del Web. Hola, alguien me podría decir si es con php que megaupload logra que a pesar de tener el link conque el navegador descarga un archivo, ...
  #1 (permalink)  
Antiguo 25/09/2010, 15:10
 
Fecha de Ingreso: mayo-2010
Mensajes: 104
Antigüedad: 13 años, 11 meses
Puntos: 0
Cómo hace megaupload y otros para limitarnos?

Hola, alguien me podría decir si es con php que megaupload logra que a pesar de tener el link conque el navegador descarga un archivo, al momento de usar ese link directamente este no sirve?, es decir, se debe esperar lo que ellos dicen para poder bajarlo y si uso el link que google chrome me dice que está usando también debo esperar...

espero haberme explicado ^^


Muchas gracias
  #2 (permalink)  
Antiguo 25/09/2010, 16:03
Avatar de Triby
Mod on free time
 
Fecha de Ingreso: agosto-2008
Ubicación: $MX->Gto['León'];
Mensajes: 10.106
Antigüedad: 15 años, 8 meses
Puntos: 2237
Respuesta: Cómo hace megaupload y otros para limitarnos?

Tanto como explicarte... no te explicaste, pero creo haber entendido.

Lo que pasa es que megaupload (rapidshare, mediafire y un largo etc.) no usan un link directo para descarga de archivos, sino un sistema de descargas:

- Por URL recibes el identificador de archivo (lo obtienes en $_GET)
- Una vez que verificas que el archivo existe, buscas si en variables de sesion esta un indicador que te permita descargar o te haga esperar
- Si el indicador no existe, tendras que esperar y se creara la variable de sesion
- Si el indicador existe, entonces podras descargar el archivo

Seria algo como:
Código PHP:
Ver original
  1. $archivo = $_GET['archivo'];
  2. // Verifica en base de datos (si es que la usas) que exista el identificador
  3. // Usa file_exists() para asegurarte de que realmente esta disponible el archivo
  4.  
  5. if(!isset($_SESSION[$archivo]) || $_SESSION[$archivo] < time()) {
  6.     // Aqui creas el identificador, con duracion de, digamos, 1 hora
  7.     $_SESSION[$archivo] = time() + 3600;
  8.  
  9.     // Muestras el mensaje de que se debe esperar
  10.     // Con javascript (+AJAX) haces el conteo necesario y muestras el enlace final o redireccionas
  11. } else {
  12.     // Aqui permites que se descargue el archivo
  13.     // Envias los encabezados correspondientes para que salga en cuadro de dialogo de descarga
  14.     // Entregas el archivo usando readfile()
  15. }
__________________
- León, Guanajuato
- GV-Foto

Etiquetas: megaupload
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 00:08.