Foros del Web » Programando para Internet » PHP »

Crear link válido para solamente una descarga en PHP

Estas en el tema de Crear link válido para solamente una descarga en PHP en el foro de PHP en Foros del Web. Estoy tratando de tener una idea de como hacer lo siguiente: Habilitar un link a un usuario solamente después de realizar un pago a través ...
  #1 (permalink)  
Antiguo 16/02/2016, 22:05
 
Fecha de Ingreso: marzo-2014
Mensajes: 22
Antigüedad: 5 años, 6 meses
Puntos: 0
Pregunta Crear link válido para solamente una descarga en PHP

Estoy tratando de tener una idea de como hacer lo siguiente:

Habilitar un link a un usuario solamente después de realizar un pago a través de paypal(enviar el link al correo), pero que pueda descargarlo solamente una única vez.

Alguna idea de como hacer esto en PHP
  #2 (permalink)  
Antiguo 17/02/2016, 05:49
 
Fecha de Ingreso: diciembre-2012
Ubicación: Murcia
Mensajes: 329
Antigüedad: 6 años, 10 meses
Puntos: 4
Respuesta: Crear link válido para solamente una descarga en PHP

Generas un único token, lo insertas en una db, compruebas ese token si existe o no, si existe permites al usuario descargar y eliminas el token acto seguido, en caso contrario no permites al usuario descargas y le notificas con un error.
  #3 (permalink)  
Antiguo 17/02/2016, 19:13
 
Fecha de Ingreso: marzo-2014
Mensajes: 22
Antigüedad: 5 años, 6 meses
Puntos: 0
Respuesta: Crear link válido para solamente una descarga en PHP

Cita:
Iniciado por Jose789 Ver Mensaje
Generas un único token, lo insertas en una db, compruebas ese token si existe o no, si existe permites al usuario descargar y eliminas el token acto seguido, en caso contrario no permites al usuario descargas y le notificas con un error.
emmm y para que el token sea único como podria hacer?
basado en un timestamp encriptado (con md5)?
o hay alguna forma más eficiente y segura?
muchas gracias!
  #4 (permalink)  
Antiguo 17/02/2016, 19:38
 
Fecha de Ingreso: mayo-2013
Mensajes: 169
Antigüedad: 6 años, 4 meses
Puntos: 25
Respuesta: Crear link válido para solamente una descarga en PHP

Cita:
Iniciado por nattadsa Ver Mensaje
emmm y para que el token sea único como podria hacer?
basado en un timestamp encriptado (con md5)?
o hay alguna forma más eficiente y segura?
muchas gracias!
Existen funciones en php que ya hacen eso que dices:
uniqid() por ejemplo.
Pero no es seguro.

Pero, si lo quieres hacer más seguro, yo recomiendo: openssl_random_pseudo_bytes():
http://php.net/manual/es/function.op...eudo-bytes.php
Luego con bin2hex() lo pasas a hexadecimal y tienes tu token.

Usar el timestamp con md5 no es recomenado en casos de seguridad, un hacker podría llegar a predecirlo. Lo mismo con el uniqueid() tampoco. En el mismo manual te lo advierte, pero con openssl_random_pseudo_bytes() si que crea variables seguras e impredecibles.

Etiquetas: descargas, programacionweb
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 01:05.