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

Ayuda con lógica en ASP

Estas en el tema de Ayuda con lógica en ASP en el foro de ASP Clásico en Foros del Web. Buenas, me encuentro en el siguiente problema: Tengo la siguiente lógica y me encuentro en un callejón sin salida: @import url("http://static.forosdelweb.com/clientscript/vbulletin_css/geshi.css"); Código ASP: Ver original ...
  #1 (permalink)  
Antiguo 01/02/2011, 17:28
Avatar de Julcar  
Fecha de Ingreso: noviembre-2007
Ubicación: C:\inetpub\wwwroot\Guayaquil
Mensajes: 1.507
Antigüedad: 14 años, 8 meses
Puntos: 54
Ayuda con lógica en ASP

Buenas, me encuentro en el siguiente problema:

Tengo la siguiente lógica y me encuentro en un callejón sin salida:

Código ASP:
Ver original
  1. Dim referer, navegador
  2.   referer = Replace(Request.ServerVariables("HTTP_REFERER"),"www.","")
  3.   navegador = Request.ServerVariables("HTTP_USER_AGENT")
  4.   'Verifico si trae cabecera referrer
  5.   If referer <> "0" Then
  6.     'Trae una cabecera referrer, ahora veo la url
  7.     If InSTR(Referer,"http://dominio.com/") = 1 Then
  8.       'El referrer es de mi sitio web, doy acceso
  9.     Else
  10.       'El referrer es de un sito diferente, mando error
  11.     End If
  12.   Else
  13.     'No trae cabecera referrer, verifico el navegador
  14.     If Instr(navegador,"MSIE") <> "0" Then
  15.       'El navegador es Internet Explorer, creo un referer y retorno a la verificacion anterior
  16.     Else
  17.       'El navegador NO es Internet Explorer, mando error
  18.     End if
  19.   End If

Lo que hace esta aplicación, es verificar que el navegador traiga referer, ya que tengo una pagina que necesita tener referer para accesar, o sino da error (si la quieren acceder directamente), si viene de cualquier navegador que no sea IE y trae referer (de eso me ocupo mas atras) le doy acceso a la aplicación, pero se da el caso de que IE no devuelve referer y por eso tengo que asignárselo para que vuelva a comprobarse.

Mi problema está en el momento en que el usuario entra con IE, no sé como crear un referer con ASP y retornar a la verificación de referer.

Ya he probado con response.addheader ("referrer","http://dominio.com") y nada.

Alguien me ayuda?
__________________
Linux no es el único S.O. libre, conoce a ReactOS el Windows Libre!
"Si mis respuestas te dan la calma, espárceme un poco de karma"

Última edición por Julcar; 01/02/2011 a las 17:34
  #2 (permalink)  
Antiguo 02/02/2011, 01:55
Avatar de u_goldman
Moderador
 
Fecha de Ingreso: enero-2002
Mensajes: 8.031
Antigüedad: 20 años, 7 meses
Puntos: 98
Respuesta: Ayuda con lógica en ASP

Según yo no puedes asignar nada a la variable de servidor referer, su valor es tomado de una acción causada en el cliente, lo que me llama la atención es que dices que si es IE no tiene referer, tendríamos que ver cómo y de donde llega ese request.

Ahora, una cosa que se me ocurre toda vez que estás evaluando que sea IE y demás es que crees una variable de sesión con un valor cualquiera tanto para el request que llega de un navegador cualquiera y tiene referer como para IE, de esa manera podrías evaluarla más adelante y hacer lo que tengas que hacer.

Saludos
__________________
"El hombre que ha empezado a vivir seriamente por dentro, empieza a vivir más sencillamente por fuera."
-- Ernest Hemingway
  #3 (permalink)  
Antiguo 02/02/2011, 18:48
Avatar de Julcar  
Fecha de Ingreso: noviembre-2007
Ubicación: C:\inetpub\wwwroot\Guayaquil
Mensajes: 1.507
Antigüedad: 14 años, 8 meses
Puntos: 54
Respuesta: Ayuda con lógica en ASP

Gracias U_G, siempre en el momento preciso

Veamos, la aplicación se enlaza de la siguiente forma:

<object data="http://dominio.com" type="text/html" id="test"></object>

Bien, sucede que los que no son IE hasta donde he probado, tratan al Object como si fuera un iframe, mandan referer y todo OK

Pero IE, a pesar de que lo renderiza tal cual un iframe, no envia referer, por lo cual se complica el asunto.

Lo de crear una cookie se ve posible, pero necesito afinarlo más.

Ahora cabe la pregunta:

¿Como hacer la lógica de tal forma que solo puedan ver la página desde el frame que crea <object> y no directamente?

Un saludo y gracias.
__________________
Linux no es el único S.O. libre, conoce a ReactOS el Windows Libre!
"Si mis respuestas te dan la calma, espárceme un poco de karma"
  #4 (permalink)  
Antiguo 03/02/2011, 15:51
Avatar de u_goldman
Moderador
 
Fecha de Ingreso: enero-2002
Mensajes: 8.031
Antigüedad: 20 años, 7 meses
Puntos: 98
Respuesta: Ayuda con lógica en ASP

Hola Julcar

Yo trataría simplemente de hacer lo siguiente:

- Creas una sesión con el archivo asp que contiene el tag object.
- Agregas una condición al archivo asp que llamas mediante el tag object, donde si la sesion = "" redirija o algo similar.


Saludos
__________________
"El hombre que ha empezado a vivir seriamente por dentro, empieza a vivir más sencillamente por fuera."
-- Ernest Hemingway
  #5 (permalink)  
Antiguo 10/03/2011, 00:40
Avatar de Julcar  
Fecha de Ingreso: noviembre-2007
Ubicación: C:\inetpub\wwwroot\Guayaquil
Mensajes: 1.507
Antigüedad: 14 años, 8 meses
Puntos: 54
Respuesta: Ayuda con lógica en ASP

Cita:
Iniciado por u_goldman Ver Mensaje
Hola Julcar

Yo trataría simplemente de hacer lo siguiente:

- Creas una sesión con el archivo asp que contiene el tag object.
- Agregas una condición al archivo asp que llamas mediante el tag object, donde si la sesion = "" redirija o algo similar.


Saludos
Bueno U_G, me ayudó bastante eso, pero ahora tengo otro problemita, veamos:

PD: Antes debo reconocer que este link me ayudó bastante a entender lo que ud me decia... jaja.

Prosigo... en el archivo donde voy a tener el Object funcionando como iframe, registro una sesion llamada "principal" con valor true.

En el archivo que es invocado en el Object pongo un codicional

Código:
Si la session principal es true entonces
  Muestro código de la pagina
Sino
  Pongo aqui codigo de error
Fin
Sesion Abandon
Bien, hasta ese momento funciona segun lo previsto, el problema surge cuando dentro de la página invocada en el OBJECT presionamos algun link de autollamada, la sesion ya estando vacía, me manda el código de error....

¿Hay alguna forma de solucionar ese inconveniente?
¿Se puede hacer que la sesion no se abandone sino hasta salir de la página principal?

Muchas gracias
__________________
Linux no es el único S.O. libre, conoce a ReactOS el Windows Libre!
"Si mis respuestas te dan la calma, espárceme un poco de karma"
  #6 (permalink)  
Antiguo 10/03/2011, 19:39
Avatar de u_goldman
Moderador
 
Fecha de Ingreso: enero-2002
Mensajes: 8.031
Antigüedad: 20 años, 7 meses
Puntos: 98
Respuesta: Ayuda con lógica en ASP

Asi a simple vista quizas no necesitas hacer el session.abandon.
Si esto no te funciona me gustaria ver tu codigo para poder entender bien que esta pasando.

Saludos
__________________
"El hombre que ha empezado a vivir seriamente por dentro, empieza a vivir más sencillamente por fuera."
-- Ernest Hemingway
  #7 (permalink)  
Antiguo 11/03/2011, 00:13
Avatar de Julcar  
Fecha de Ingreso: noviembre-2007
Ubicación: C:\inetpub\wwwroot\Guayaquil
Mensajes: 1.507
Antigüedad: 14 años, 8 meses
Puntos: 54
Respuesta: Ayuda con lógica en ASP

Cita:
Iniciado por u_goldman Ver Mensaje
Asi a simple vista quizas no necesitas hacer el session.abandon.
Si esto no te funciona me gustaria ver tu codigo para poder entender bien que esta pasando.

Saludos
Si no hago el session abandon, la sesion queda en true y cualquiera puede entrar a pagina-protegida.asp y ver su contenido, mi objetivo es el siguiente:

Creo sesion en página contenedora del OBJECT -> En el archivo invocado en el OBJECT pongo el condicional, si existe la sesion doy acceso -> Mientras el usuario navegue por dicho archivo, la sesion debera mantenerse en true -> Una vez que el usuario cierra el navegador, o sale de la página contenedora del OBJECT la sesión se destruye y cuento acabado.

No sé, pero creo que se me prendió el foquito y me entra la duda si esto se podrá hacer de alguna forma desde el global.asa, cabe destacar que nunca he usado el global.asa así que es algo nuevo por explorar.

Saludos y gracias U_G.
__________________
Linux no es el único S.O. libre, conoce a ReactOS el Windows Libre!
"Si mis respuestas te dan la calma, espárceme un poco de karma"
  #8 (permalink)  
Antiguo 11/03/2011, 00:15
Avatar de Julcar  
Fecha de Ingreso: noviembre-2007
Ubicación: C:\inetpub\wwwroot\Guayaquil
Mensajes: 1.507
Antigüedad: 14 años, 8 meses
Puntos: 54
Respuesta: Ayuda con lógica en ASP

Por cierto, don U_G, algun dia de estos vea si me admite en el msn, quisiera preguntarle un par de cosas por ahí.
__________________
Linux no es el único S.O. libre, conoce a ReactOS el Windows Libre!
"Si mis respuestas te dan la calma, espárceme un poco de karma"
  #9 (permalink)  
Antiguo 13/03/2011, 23:08
Avatar de u_goldman
Moderador
 
Fecha de Ingreso: enero-2002
Mensajes: 8.031
Antigüedad: 20 años, 7 meses
Puntos: 98
Respuesta: Ayuda con lógica en ASP

Cita:
Iniciado por Julcar Ver Mensaje
Por cierto, don U_G, algun dia de estos vea si me admite en el msn, quisiera preguntarle un par de cosas por ahí.
La verdad es que no se que tanto le he hecho a mi MSN ultimamente asi que de seguro te borre, etc, enviame un mensaje por ahi para agregarte de nuevo.

Saludos!
__________________
"El hombre que ha empezado a vivir seriamente por dentro, empieza a vivir más sencillamente por fuera."
-- Ernest Hemingway
  #10 (permalink)  
Antiguo 14/03/2011, 14:27
Avatar de Julcar  
Fecha de Ingreso: noviembre-2007
Ubicación: C:\inetpub\wwwroot\Guayaquil
Mensajes: 1.507
Antigüedad: 14 años, 8 meses
Puntos: 54
Respuesta: Ayuda con lógica en ASP

Cita:
Iniciado por u_goldman Ver Mensaje
La verdad es que no se que tanto le he hecho a mi MSN ultimamente asi que de seguro te borre, etc, enviame un mensaje por ahi para agregarte de nuevo.

Saludos!
Ya le envié un saludo por el msn, ojalá pueda verlo...

Estoy intentando estudiar el global.asa pero está algo confuso.
__________________
Linux no es el único S.O. libre, conoce a ReactOS el Windows Libre!
"Si mis respuestas te dan la calma, espárceme un poco de karma"

Etiquetas: asp
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 13:23.