Foros del Web » Programando para Internet » ASP Clásico »

Gestion de descargas

Estas en el tema de Gestion de descargas en el foro de ASP Clásico en Foros del Web. Hola, se que ya se a tratado algo parecido pero en las FAQs ni en el buscador encontre solucion, aqui va lo que necesito: Requiero ...
  #1 (permalink)  
Antiguo 05/04/2005, 10:40
Avatar de sjam7  
Fecha de Ingreso: diciembre-2001
Ubicación: Guadalajara, Mexico
Mensajes: 3.672
Antigüedad: 23 años, 4 meses
Puntos: 16
Gestion de descargas

Hola, se que ya se a tratado algo parecido pero en las FAQs ni en el buscador encontre solucion, aqui va lo que necesito:

Requiero descargar archivos PDF sin que puedan descargarse de NINGUN otra forma mas que mediante los links que vayan llevando al usuario a el, seran archivos por los que se debera pagar, por eso es que requiero que sean "PROTEGIDOS" a descargas por gente que pueda saber la direccion del sitio o sin haber seguido una serie de links que seran la identificacion del usuario, asi como el pago del archivo con paypal

Se me ocurren algunas de estas soluciones:
- Directorios virtuales (pero no se como se hacen ni trabajan)
- En FAQs hay un script para archivos ZIP, adaptarlo a archivo PDF (¿como?)
- Creacion al vuelo de los archivos PDF (FPDF lo encuentro algo complicado de entender y en mi hosting no puedo instalar componentes)

Ahora bien, lo ideal seria lo siguiente:
-Descargar unicamente por quien realizo un pago ya sea con mensaje SMS (SEPOMO) o paypal
- Proteger con una clave unica cada archivo (quizas generando los archivos al vuelo se podria hacer esto) y abrirlo mediante ingreso de esta clave cada que se quiera ver el archivo
- Solo se pueda usar en la compu que bajo el archivo

Repito, esto seria lo ideal, si alguien supiera como hacer todo o algunas de estas cosas le agradeceria mucho me ayude

RECUERDEN me es muy importante que la direccion de los archivos NUNCA pueda ser conocida para proteger la descarga directa de los archivos

A todos muchas gracias por anticipado
  #2 (permalink)  
Antiguo 05/04/2005, 10:44
Avatar de u_goldman
Moderador
 
Fecha de Ingreso: enero-2002
Mensajes: 8.031
Antigüedad: 23 años, 4 meses
Puntos: 98
Me parece, sjam, que generarlos de manera dinamica(si solo son pdf's), es la mejor solucion, los generas, permites su descarga y despues puedes eliminarlos del servidor, sin embargo, lo de que solo puedan abrirse en la maquina de descarga y demas, ya me parece un poco fantastico.

Mis $0.02

Salu2,

P.D. No lei lo del hosting...tambien de repente es mejor conseguir otro hosting.
__________________
"El hombre que ha empezado a vivir seriamente por dentro, empieza a vivir más sencillamente por fuera."
-- Ernest Hemingway

Última edición por u_goldman; 05/04/2005 a las 10:45
  #3 (permalink)  
Antiguo 05/04/2005, 11:02
Avatar de sjam7  
Fecha de Ingreso: diciembre-2001
Ubicación: Guadalajara, Mexico
Mensajes: 3.672
Antigüedad: 23 años, 4 meses
Puntos: 16
si, asi lo habia pensado ... en estos casos extraño haber faltando a mis clases de ingles... tratare de entenderle al FPDF

conoces tu algun componente gratuito para ver si convenso a los del host para que me lo instalen
  #4 (permalink)  
Antiguo 05/04/2005, 11:04
Avatar de u_goldman
Moderador
 
Fecha de Ingreso: enero-2002
Mensajes: 8.031
Antigüedad: 23 años, 4 meses
Puntos: 98
mmmhhh...gratuito me parece que no, pero cuestion de buscarle, ahora que lo estuve pensando, tambien, quizas en este caso convendria guardar estos archivos en la DB y solo haces el sistema de autentificacion de usuario

Salu2,
__________________
"El hombre que ha empezado a vivir seriamente por dentro, empieza a vivir más sencillamente por fuera."
-- Ernest Hemingway
  #5 (permalink)  
Antiguo 05/04/2005, 11:06
Avatar de AlZuwaga
Colaborador
 
Fecha de Ingreso: febrero-2001
Ubicación: 34.517 S, 58.500 O
Mensajes: 14.550
Antigüedad: 24 años, 2 meses
Puntos: 535
Lo que podés hacer es guardar los archivos en una carpeta por fuera de la carpeta del directorio virtual (osea, que no sea accesible mediante una URL).
Para el ejemplo que te paso, lo datos serían los siguientes:

El sitio está en c:\inetpub\wwwroot\
La carpeta que almacena los PDF's está en c:\inetpub\docs\ (la carpeta 'docs', y su contenido, ya no son accesibles al navegador).

Luego, con este script que saqué de www.aspfaq.com, lo lográs pasándole el nombre del archivo por querystring (paginadedescargas.asp?fn=archivoabajar.pdf)


Código:
<% 
fn = Request.QueryString("fn")
If fn <> "" then

	Response.ContentType = "application/x-unknown" ' arbitrary 
	FPath = "c:\inetpub\docs\" & fn
	Response.AddHeader "Content-Disposition","attachment; filename=" & fn 

	Set adoStream = CreateObject("ADODB.Stream") 
	adoStream.Open() 
	adoStream.Type = 1 
	adoStream.LoadFromFile(FPath) 
	Response.BinaryWrite adoStream.Read() 
	adoStream.Close 
	Set adoStream = Nothing 

Else
	Response.Write "no jodas, no vas a encontrar nada... jetón!"
End if
Response.End
%>
saludos
__________________
...___...
  #6 (permalink)  
Antiguo 05/04/2005, 11:09
Avatar de sjam7  
Fecha de Ingreso: diciembre-2001
Ubicación: Guadalajara, Mexico
Mensajes: 3.672
Antigüedad: 23 años, 4 meses
Puntos: 16
eso es lo que no se como hacer, para que no puedan conocer la direccion del archivo...o puedo meter los archivos DENTRO de la base de datos? uso access
  #7 (permalink)  
Antiguo 05/04/2005, 11:13
Avatar de trasgukabi  
Fecha de Ingreso: septiembre-2004
Mensajes: 2.749
Antigüedad: 20 años, 8 meses
Puntos: 18
sjam7, en la biblioteca puse una función para esconder el path de las imágenes, puedes adaptarlo perfectamente a ficheros PDF.

Aquí

Saludos.

Última edición por trasgukabi; 05/04/2005 a las 11:15
  #8 (permalink)  
Antiguo 05/04/2005, 11:14
Avatar de u_goldman
Moderador
 
Fecha de Ingreso: enero-2002
Mensajes: 8.031
Antigüedad: 23 años, 4 meses
Puntos: 98
No, no, si usas Access, mejor intenta otra solucion, Access tiene demasiados problemas como para agregarle mas con el almacenamiento de archivos...me parece muy buena alternativa la de AZ

Salu2,
__________________
"El hombre que ha empezado a vivir seriamente por dentro, empieza a vivir más sencillamente por fuera."
-- Ernest Hemingway
  #9 (permalink)  
Antiguo 05/04/2005, 11:23
Avatar de AlZuwaga
Colaborador
 
Fecha de Ingreso: febrero-2001
Ubicación: 34.517 S, 58.500 O
Mensajes: 14.550
Antigüedad: 24 años, 2 meses
Puntos: 535
igual hay que darle alguna vuelta de tuercas al script ese... porque cualquiera que coloque paginadesdescargas.asp?fn=erchivoabajar.pdf lo va a bajar igual xD

Pero lo importante es que al archivo en sí no se accede. ya al haber un script "de por medio" se puede controlar algunas otras cuestiones como si pagó, si es un usuario válido, si ya lo ha bajado al menos una vez, etc, etc..
__________________
...___...

Última edición por AlZuwaga; 05/04/2005 a las 11:26
  #10 (permalink)  
Antiguo 05/04/2005, 11:25
Avatar de sjam7  
Fecha de Ingreso: diciembre-2001
Ubicación: Guadalajara, Mexico
Mensajes: 3.672
Antigüedad: 23 años, 4 meses
Puntos: 16
gracias a los 3, voy a tomar de todos un poco y les cuento






---------------------------------------------
Todo lo puedo en Cristo
Fil 4:13
  #11 (permalink)  
Antiguo 05/04/2005, 11:28
Avatar de sjam7  
Fecha de Ingreso: diciembre-2001
Ubicación: Guadalajara, Mexico
Mensajes: 3.672
Antigüedad: 23 años, 4 meses
Puntos: 16
lo que he pensado (a ver que opinan) es que el comprar via SEPOMO o Paypal mas que enviar a la descarga directa del archivo mas bien me genere una especie de CREDITO en un usuario previamente registrado y adaptarle al script de AZ que si puedan poner la url como dices pero que compruebe si es primero un usuario registrado, despues que ese usuario tenga al menos 1 credito para poder proceder a correr el script, algo asi:

if session("user")<>"" and rs("creditos")>=1 then
script de AZ..........
end if

creen que pueda funcionar?
  #12 (permalink)  
Antiguo 05/04/2005, 12:30
Avatar de AlZuwaga
Colaborador
 
Fecha de Ingreso: febrero-2001
Ubicación: 34.517 S, 58.500 O
Mensajes: 14.550
Antigüedad: 24 años, 2 meses
Puntos: 535
Cita:
creen que pueda funcionar?
Possss si, pero a ver... analicemos otro "problema".
Ahí tenés que si es un usuario válido, etonces se fije si tiene créditos suficientes... pero tal vez "compró" el documento PDF1.pdf y no el documento PDF2.pdf

Entocnes lo que haría sería tener una tabla (Documentos_Comprados) con ID_Usuario y Nombre_documento (documento por el cuál ya pagó). Comprobás si el documento al que quiere acceder existe dentro de la tabla, si existe (recordcount=1), colocás el script y si no, posss.. le das la posibilidad de comprarlo.

Y creo que la tuerca quedó bien apretada ;)
__________________
...___...
  #13 (permalink)  
Antiguo 05/04/2005, 12:43
Avatar de sjam7  
Fecha de Ingreso: diciembre-2001
Ubicación: Guadalajara, Mexico
Mensajes: 3.672
Antigüedad: 23 años, 4 meses
Puntos: 16
me suena buena tu respuesta, lo que yo decia de los creditos es que al pagar se le da uno y al descargar se le descuente, por eso es la idea de tenerlos "ocultos" para que no puedan descargar mas que el que yo le mande con el script que me mandaste, es decir, no pueda saber que exista el pdf1.pdf ni que existe el pdf2.pdf sino que solo reciba el que solicito sin saber su procedencia...que es la idea del post
  #14 (permalink)  
Antiguo 20/03/2006, 16:34
Avatar de pempas  
Fecha de Ingreso: diciembre-2003
Ubicación: Barcelona
Mensajes: 985
Antigüedad: 21 años, 4 meses
Puntos: 6
Hola a todos, esta solución me ha parecido genial, pero me da este error:

"La ejecución de la página ASP ha provocado que el búfer de respuesta supere el límite configurado."

¿Porque me da este error?

Muchas gracias
  #15 (permalink)  
Antiguo 20/03/2006, 17:42
Avatar de ElAprendiz  
Fecha de Ingreso: enero-2002
Ubicación: Maipu, Chile
Mensajes: 3.706
Antigüedad: 23 años, 3 meses
Puntos: 2
quiza con un response.buffer=true al comiennzo de la pagina puedas solucionarlo
  #16 (permalink)  
Antiguo 20/03/2006, 17:45
Avatar de u_goldman
Moderador
 
Fecha de Ingreso: enero-2002
Mensajes: 8.031
Antigüedad: 23 años, 4 meses
Puntos: 98
Pero no sería más bien un response.buffer = false? para que no se cargue nada en el buffer... a lo mejor es que todavía ando con lo del viernes
__________________
"El hombre que ha empezado a vivir seriamente por dentro, empieza a vivir más sencillamente por fuera."
-- Ernest Hemingway
  #17 (permalink)  
Antiguo 20/03/2006, 17:57
Avatar de ElAprendiz  
Fecha de Ingreso: enero-2002
Ubicación: Maipu, Chile
Mensajes: 3.706
Antigüedad: 23 años, 3 meses
Puntos: 2
dejame meditarlo un rato
  #18 (permalink)  
Antiguo 21/03/2006, 02:44
Avatar de pempas  
Fecha de Ingreso: diciembre-2003
Ubicación: Barcelona
Mensajes: 985
Antigüedad: 21 años, 4 meses
Puntos: 6
Tengo colocado esto al inicio de la página, pero he probado a quitarlo, cambiar el response.buffer por false pero tampoco funciona:

Response.addHeader "pragma", "no-cache"
Response.CacheControl = "Private"
Response.Expires = 0
Response.Buffer=True

El PC es un Windows 2003 Server, lo instalé la semana pasada, pero temo que pueda haber algo mal configurado... ¿puede haber alguna configuración del IIS que impida este tipo de código?

Salu2!
  #19 (permalink)  
Antiguo 21/03/2006, 16:33
Avatar de pempas  
Fecha de Ingreso: diciembre-2003
Ubicación: Barcelona
Mensajes: 985
Antigüedad: 21 años, 4 meses
Puntos: 6
¿Nadie tiene idea de porque no funciona?
  #20 (permalink)  
Antiguo 23/03/2006, 04:22
Avatar de pempas  
Fecha de Ingreso: diciembre-2003
Ubicación: Barcelona
Mensajes: 985
Antigüedad: 21 años, 4 meses
Puntos: 6
Para todos aquellos a los que les pase como a mi, que sepan que si tienen un servidor dedicado y el límite del buffer se colapsa, la respuesta está aquí:

http://www.fogcreek.com/FogBugz/KB/e...mitExceed.html

Saludos y gracias a todos
  #21 (permalink)  
Antiguo 22/08/2007, 03:51
Avatar de TCL_ZIP  
Fecha de Ingreso: noviembre-2003
Ubicación: Esporles, Mallorca, España
Mensajes: 690
Antigüedad: 21 años, 5 meses
Puntos: 4
Re: Gestion de descargas

Cita:
Iniciado por pempas Ver Mensaje
Para todos aquellos a los que les pase como a mi, que sepan que si tienen un servidor dedicado y el límite del buffer se colapsa, la respuesta está aquí:

http://www.fogcreek.com/FogBugz/KB/e...mitExceed.html

Saludos y gracias a todos

muchas gracias tenia el mismo error, voy a provar ^^
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:24.