elhacker.net cabecera Bienvenido(a), Visitante. Por favor Ingresar o Registrarse
¿Perdiste tu email de activación?.

 

 


Tema destacado: Tutorial básico de Quickjs


+  Foro de elhacker.net
|-+  Programación
| |-+  Desarrollo Web
| | |-+  PHP (Moderador: #!drvy)
| | | |-+  Expirar descargas en PHP
0 Usuarios y 1 Visitante están viendo este tema.
Páginas: [1] Ir Abajo Respuesta Imprimir
Autor Tema: Expirar descargas en PHP  (Leído 4,242 veces)
ka0s


Desconectado Desconectado

Mensajes: 308


Ver Perfil
Expirar descargas en PHP
« en: 22 Septiembre 2010, 19:47 pm »

Buenas gente, tengo la siguiente consulta:
Quiero hacer en PHP que un usuario pueda bajar un archivo una sola vez y después se destruya el LINK o que pueda bajarlo durante X tiempo.

Googleé y no encontré nada. Probé con todo, poniendo "expirar descargas PHP", etc...
Si alguien me puede dar una mano o un ejemplo de como se hace.

O como buscarlo precisamente en Google me haría un gran favor.

Muchas gracias!


En línea

~ Yoya ~
Wiki

Desconectado Desconectado

Mensajes: 1.125



Ver Perfil
Re: Expirar descargas en PHP
« Respuesta #1 en: 22 Septiembre 2010, 20:14 pm »

Buenas, puedes hacerlo de de dos manera...

El problema principal radicaría en identificar cada usuario, a mi se me ocurren dos maneras (Las dos usando DB):
  • Mediante la IP
  • Creando usuarios

Bueno en la primera opción es mediante la IP, puedes crear una columna para dejar hay todas las ip que han descargado, comparas la ip del usuario con la de la Base de datos, si son iguales no se podrá descargar, si son distinta se podrá descargar.

Leer:X-Forwarded-For


La otra opción es creando usuarios y verifica si el usuario ah descargado el archivo y si lo ah descargado, le deniegas el acceso luego...


En línea

Mi madre me dijo que estoy destinado a ser pobre toda la vida.
Engineering is the art of balancing the benefits and drawbacks of any approach.
neopuerta360

Desconectado Desconectado

Mensajes: 240


La mejor comunidad de neopets


Ver Perfil WWW
Re: Expirar descargas en PHP
« Respuesta #2 en: 22 Septiembre 2010, 22:09 pm »

Como se hace sin base de datos.
En línea

Kasi

Desconectado Desconectado

Mensajes: 76



Ver Perfil
Re: Expirar descargas en PHP
« Respuesta #3 en: 23 Septiembre 2010, 16:48 pm »

A mi se me ocurre otra cosa:

- Lo que puedes hacer es que cuando se descargue el archivo, se ejecute un script, que almacene en la BD que fichero se ha descargado y quede como "marcado" entonces con otro script que se ejecute periodicamente ( cada X tiempo, definido por ti ) obtenga la ruta del fichero, y lo renombre con un token aleatorio, es decir, seria el mismo fichero, pero renombrado con un código aleatorio para que el link nunca sea el mismo), por ejemplo:

El usuario descarga el fichero X.zip una vez.

Al descargalo guardamos en una tabla que el fichero X.zip ha sido descargado.

Cuando el script programado se ejecute buscará en la tabla los ficheros que debe actualizar.

Cuando encuentre el fichero X.zip, lo cojera y generará un random, y el fichero pasará a llamarse por ejemplo : Xaoidw4tnn.zip (Notese que acabo de aporrear el teclado para sacar ese churro de letras sin sentido xDD ), una vez hecho, borramos de la tabla a X.zip que ya no existe, dejando a Xaoidw4tnn.zip listo para poder descargarse nuevamente).

Basicamente la idea es esa, aunque luego habria que tener en cuenta mas criterios, por ejemplo cada cuanto tiempo actualizar, si se restringe la descarga si el fichero esta marcado como descargado o no, etc...

Espero que te sirva la idea, un saludo
En línea

neopuerta360

Desconectado Desconectado

Mensajes: 240


La mejor comunidad de neopets


Ver Perfil WWW
Re: Expirar descargas en PHP
« Respuesta #4 en: 23 Septiembre 2010, 17:50 pm »

Como se hace sin base de datos.
En línea

~ Yoya ~
Wiki

Desconectado Desconectado

Mensajes: 1.125



Ver Perfil
Re: Expirar descargas en PHP
« Respuesta #5 en: 23 Septiembre 2010, 20:18 pm »

Como se hace sin base de datos.

usando la cabesa
En línea

Mi madre me dijo que estoy destinado a ser pobre toda la vida.
Engineering is the art of balancing the benefits and drawbacks of any approach.
‭‭‭‭jackl007


Desconectado Desconectado

Mensajes: 1.403


[UserRPL]


Ver Perfil WWW
Re: Expirar descargas en PHP
« Respuesta #6 en: 23 Septiembre 2010, 20:57 pm »

usa BD sino  mueres, si tienes 1000 visitas diarias y no usas BD, estas muerto.

cuando el usuario descarga el fichero (usando un link redireccionador), entonces guardas su IP, hora del usuario, y luego cuando se ejecute ese script verificas que si su IP es la misma, y borras los registros que ya vencieron (x dias).

Busca un manual de visitantes online que tiene la misma logica, revisa este enlace:
http://www.baluart.net/articulo/usuarios-online-con-php-mysql

Si siges terco y dices: sin bd, entonces no es lo tuyo la programacion y dedicate a otra cosa (en serio). Te animo a que aprendas a usar la BD, y tendras muy muy buen provecho despues tambien
En línea

neopuerta360

Desconectado Desconectado

Mensajes: 240


La mejor comunidad de neopets


Ver Perfil WWW
Re: Expirar descargas en PHP
« Respuesta #7 en: 23 Septiembre 2010, 21:21 pm »

como voy a usar base de datos si no me funciona.
En línea

Páginas: [1] Ir Arriba Respuesta Imprimir 

Ir a:  

Mensajes similares
Asunto Iniciado por Respuestas Vistas Último mensaje
¡Expirar cookies? MITM
Hacking
.:UND3R:. 0 2,428 Último mensaje 30 Octubre 2013, 05:31 am
por .:UND3R:.
Expirar passwords inmediatamente en Unix
Unix/Unix-Like
m@o_614 1 4,027 Último mensaje 1 Junio 2017, 23:04 pm
por M4rduK
WAP2 - Aviso Legal - Powered by SMF 1.1.21 | SMF © 2006-2008, Simple Machines