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

Como mostrar un link si se cumple esto???

Estas en el tema de Como mostrar un link si se cumple esto??? en el foro de ASP Clásico en Foros del Web. Hola Como se puede mostrar o no un link segun se cumpla una condicion? Yo necesito mostrar un link para permitir la descarga de un ...
  #1 (permalink)  
Antiguo 27/04/2005, 14:20
 
Fecha de Ingreso: enero-2002
Ubicación: Mar del Plata
Mensajes: 243
Antigüedad: 22 años, 5 meses
Puntos: 0
Pregunta Como mostrar un link si se cumple esto???

Hola

Como se puede mostrar o no un link segun se cumpla una condicion?

Yo necesito mostrar un link para permitir la descarga de un archivo siempre y cuando aparezca una palabra o variable, en realidad no se como hacerlo....

Alguien me puede dar un ejemplo ?

Gracias

Última edición por roroland; 27/04/2005 a las 14:52
  #2 (permalink)  
Antiguo 27/04/2005, 14:28
Avatar de u_goldman
Moderador
 
Fecha de Ingreso: enero-2002
Mensajes: 8.031
Antigüedad: 22 años, 5 meses
Puntos: 98
Puedes hacerlo tal vez con sesiones?

If session("descarga") = 1 then
%>
<a href="link_para_descargar">Archivo</a>
<%
else
%>
Archivo
<%
end if
%>

Algo así...

Salu2
__________________
"El hombre que ha empezado a vivir seriamente por dentro, empieza a vivir más sencillamente por fuera."
-- Ernest Hemingway
  #3 (permalink)  
Antiguo 27/04/2005, 15:08
Avatar de Myakire
Colaborador
 
Fecha de Ingreso: enero-2002
Ubicación: Centro de la república
Mensajes: 8.849
Antigüedad: 22 años, 4 meses
Puntos: 146
¿aparezca? ¿dónde? ¿Es algo que usuario ingresa?
  #4 (permalink)  
Antiguo 27/04/2005, 15:22
Avatar de Neuron_376  
Fecha de Ingreso: abril-2005
Mensajes: 1.051
Antigüedad: 19 años, 2 meses
Puntos: 2
Pregunta

Respecto a esto, es algo que tambien he querido saber, lo malo es esto...

Poner el link condicionado es facil, sin embargo al momento de hacer la descarga o ver el codigo fuente en html etc, miras rapido la ubicacion del archivo, y si son por ejemplo, archivos que pagas por ellos, entonces es mas dificil controlar esto...

Quisiera saber como puedo decir que un archivo no se puede bajar para nada, he visto protecciones con javascript donde encuanto entras a un folder te pide una clave, y me parece un metodo muy valido y eficiente en cierto punto, pero si alguien conoce otro metodo de proteccion mas seguro directo en el archivo, pues bienvenido.

Gracias.
  #5 (permalink)  
Antiguo 27/04/2005, 18:25
Avatar de AlZuwaga
Colaborador
 
Fecha de Ingreso: febrero-2001
Ubicación: 34.517 S, 58.500 O
Mensajes: 14.550
Antigüedad: 23 años, 3 meses
Puntos: 535
A ver si ésto les sirve? http://www.forosdelweb.com/showthrea...cargar+archivo

La posible solución está a partir del mensaje #5

saludos
__________________
...___...
  #6 (permalink)  
Antiguo 27/04/2005, 20:36
Avatar de Neuron_376  
Fecha de Ingreso: abril-2005
Mensajes: 1.051
Antigüedad: 19 años, 2 meses
Puntos: 2
Bien.

Lo que pusiste en el mensaje 5 creo que si resulta la mejor solucion, lo unico malo que veo es lo del parametro del URL, pero creo que se arregla facilmente con las variables de session, por otra parte, lo unico malo tambien es que cuando estas en un hosting rentado eso no aplica porque no tienes acceso a otros folders, pero muy buena idea hacerlo asi como mencionas, cuando lo vuelva a necesitar tratare de probar ese metodo, mientras bueno, creo que para lo que esta en el hosting seguira siendo la misma proteccoin, por clave en javascript.

Lo que he hecho es esto:

1. El folder esta protegido por javascript.

2. Cuando tienes acceso le digo al usuario que clave y contraseña puede usar para iniciar su descarga.

3. Los nobres de los archivos son claves, entonces el usuario no puede saber como bajar otros archivos mas que el que tiene derecho a bajar.

Pero igual, el metodo que pones tiene mejor presentacion, funcionalidad, etc.

Gracias.
  #7 (permalink)  
Antiguo 28/04/2005, 02:14
Avatar de 3pies
Colaborador
 
Fecha de Ingreso: diciembre-2003
Ubicación: Desde una destilería
Mensajes: 2.584
Antigüedad: 20 años, 6 meses
Puntos: 144
Deberías tener acceso a otras carpetas aparte de la que tienen acceso los usuarios. Seguramente en tu hosting de pago, tienes wwwroot con todos tus ficheros, y una carpeta llamada de otra forma, al mismo nivel que wwwroot para tus bases de datos. En tal caso, puedes crearte una tercera carpeta para meter tus ficheros de descarga. Yo lo tengo así, y aplicado de esta forma:

1.- Login usuario/password en asp, que dan acceso a todos los ficheros de descarga. Esto mismo se podría hacer dando permisos a uno u otro fichero, y no a todos, como es mi caso.

2.- Archivos colocados fuera de wwwroot, con lo que aun sabiendo que por ejemplo están en una carpeta llamada "descargas", por mucho que pongas en la barra del navegador "www.tusitio.com/descargas/fichero-1.zip", no se descargará nada, pues no existe esa carpeta, ya que "descargas" está fuera de wwwroot (solo lo que hay dentro de wwwroot es a lo que se puede acceder desde www.tusitio.com).

3.- Para complicarlo un poco más, uso también un include con una función que no recuerdo de donde la saqué (creo que no es la de Epa2 que hay en las faq este foro), donde te renombra el fichero. Si el fichero se llama "fichero-1.zip", el usuario se lo descarga, pero con el nombre de su usuario logueado (su session). Ej: "Pepito-1.zip", "Pepito-2.zip", etc... De tal forma que el usuario se descarga fichero-1.zip, pero con su nombre (como si fuera un fichero personalizado, solo para él, lo cual queda de coña, ya que el usuario "flipa", porque se cree que tienes almacenados tantos ficheros como usuarios registrados tienes ). Obviamente también tengo un contador de descargas para cada fichero bajado.
  #8 (permalink)  
Antiguo 28/04/2005, 09:17
 
Fecha de Ingreso: enero-2002
Ubicación: Mar del Plata
Mensajes: 243
Antigüedad: 22 años, 5 meses
Puntos: 0
Gracias por sus respuestas.

En mi sitio lo que tengo en este momento, es que vendo mi musica, entonces luego que el usuario paga (a travez de paypal) y me llega el mail de que alguien me compro, lo que hago es habilitar la descarga en formato .zip, la unica medida de seguridad que se me ocurrio para protegerl los otros archivos que tengo es ponerles contraseña diferente a cada .zip, entonces, en caso que pudiesen bajar mas files no puedan abrirlos. Se que no es suficiente...pero esa idea de poner las carpetas fuera del root es interesante, voy a probarlo...

Una pregunta mas sobre el codigo de Session...
Lo que yo necesito hacer es lo siguiente. Paypal (que es con quien cobro mis temas) cuando me pagan por un tema, me devuelve este codigo a una pagina mia, el cual es un "recibo" en tiempo real de lo que ese usuario me compro:

<%
Dim Item_name, option_name1, option_selection1
Dim Payment_status, Payment_amount
Dim mc_gross
Dim Txn_id, Receiver_email, Payer_email
Dim First_name, Last_name
Dim objHttp, str

str = Request.Form & "&cmd=_notify-validate"
set objHttp = Server.CreateObject("Msxml2.ServerXMLHTTP")
objHttp.open "POST", "https://www.paypal.com/cgi-bin/webscr", false
objHttp.setRequestHeader "Content-type", "application/x-www-form-urlencoded"
objHttp.Send str

First_name = Request.Form("first_name")
Last_name = Request.Form("last_name")
Item_name = Request.Form("item_name")
option_name1 = Request.Form("option_name1")
option_selection1 = Request.Form("option_selection1")
Payment_status = Request.Form("payment_status")
mc_gross = Request.Form("mc_gross")
mc_currency = Request.Form("mc_currency")
Txn_id = Request.Form("txn_id")
Payer_email= Request.Form("payer_email")
Receiver_email = Request.Form("receiver_email")
Payer_email = Request.Form("payer_email")
Session("descarga")=0
if (objHttp.status <> 200 ) then
' HTTP error handling
elseif (objHttp.responseText = "VERIFIED") then
' check that Payment_status=Completed
' check that Txn_id has not been previously processed
' check that Receiver_email is your Primary PayPal email
' check that Payment_amount/Payment_currency are correct
' process payment
elseif (objHttp.responseText = "INVALID") then
' log for manual investigation
else
' error
end if
set objHttp = nothing
%>


Yo lo que quiero es un codigo que me permita evaluar si el que me pago es INVALID (malo) o VERIFIED (bueno). Y que si el pago es VERIFIED (bueno) entonces aparezca un link habilitando la descarga y sino no...

Por eso el codigo que antes me pasaron:

<%If session("descarga") = 1 then
%>
<a href="link_para_descargar">Archivo</a>
<%
else
%>
Archivo
<%
end if
%>

Me parece util...lo que no se es como hacer para que por ejemplo si es verified, el valor de la session cambie ...me explico?

Gracias
  #9 (permalink)  
Antiguo 28/04/2005, 09:25
Avatar de AlZuwaga
Colaborador
 
Fecha de Ingreso: febrero-2001
Ubicación: 34.517 S, 58.500 O
Mensajes: 14.550
Antigüedad: 23 años, 3 meses
Puntos: 535
Para Neurón: Qué significa (o cómo hacés para) proteger una carpeta mediante javascript???

Sory roroland que use este espacio.
__________________
...___...
  #10 (permalink)  
Antiguo 28/04/2005, 12:01
Avatar de Neuron_376  
Fecha de Ingreso: abril-2005
Mensajes: 1.051
Antigüedad: 19 años, 2 meses
Puntos: 2
Sorry

Esa parte del metodo no es mio, y realmente eso de JavaScript no se como funciona, por eso no me gusta .. pero mira, has entrado a una pagina e inmediatamente te aparece la pantalla de Usuario y Contraseña.. a eso me refiero, este metodo que meniciono lo uso en PHP - Apache, no es ASP, en ASP no he tenido ese caso de proteger descargas, pero pienso que es igual para ASP, aunque no estoy seguro, en Apache tu dices que directorios estan protegidos y los usuarios y contraseñas que tienen acceso, entones, automaticamente cuando entras a ese folder aparece la pantalla de JavaScript que te pide Alias y Contraseña para poder ingresar.

Entonces usando eso, es como implemente la pagina donde puedes descargar, la descarga apunta a ese folder y lo primero que aparece es esa restriccion de usuario y contraseña, en mi pagina yo les digo que datos deben usar, asi iniciar su descarga

Realmente no se como funciona eso, lo se implementar, pero no se como fucniona internamente.

Por eso me parece que tu metodo es mejor , y lo que propuso 3pies, es tambien muy buena idea, simplemente cambiar de nombre a los archivos, tendre en cuenta este tema para casos futuros.

Referente a lo que mencionaron acerca de las carpetas, en algunos hosting, nop, no es posible tener carpetas fuera, y tengan cuidado, porque ahorita en un hosting donde puedo hacer eso, realmente son subdominios no son carpetas externas, por eso decia que ponerlo fuera del root no siempre seria posible.

Gracias.
  #11 (permalink)  
Antiguo 28/04/2005, 12:08
Avatar de Neuron_376  
Fecha de Ingreso: abril-2005
Mensajes: 1.051
Antigüedad: 19 años, 2 meses
Puntos: 2
Hola Roland

Referente a tu pregunta, la secuencia seria asi:

1. Tines un usuario registrado, en la base de datos tu dices que ese usuario aun no ha pagado .. chrPagado = "N"

2. Cuando tu recibes un pago, tu actualizad la base de datos y pones chrPagado = "S"

3. Cuando el usuario entra a la pagina de descargas tu lees este valor desde la base de datos, segun el usuario que esta logueado en tu pagina, algo como:

"select chrPagado from tblUsuariosPagos where ID = " & Session("UserID")

4. Entonces para verificar que ha pagado o no, utilizas ese valor chrPagado

......

Aparte, lo que menciono AZ de pasarle a una pagina de descargas el valor por la URL, ahi esta el cambio, tu no necesitas pasar nada, porque despues de leer el valor del database y decir algo como... SI TIENES ACCESO, puedes poner los valores necesarios en variables de session, asi la pagina de descargas lee todo de session, lo cual te da la seguridad que nadie podra bajar nada si no paso por la verificacion necesaria.

Suerte!!
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 11:13.