Perl en Español

  1. Home
  2. Tutoriales
  3. Foro
  4. Artículos
  5. Donativos
  6. Publicidad
 

Código que funciona SÓLO dentro de un CGI.

 
Publicar nuevo tema   Responder al tema    Foros de discusión -> Javascript
Mensaje Mar May 16, 2006 7:44 am
macgregor
Perlero Frecuente
Perlero Frecuente
Registrado: 09 Dic 2004
Mensajes: 117
Ubicación: españa
Código que funciona SÓLO dentro de un CGI. Responder citando

Hola a todos.
Me he encontrado con un problema muy extraño. No alcanzo a comprender porqué falla y por tanto no sé por donde intentar arreglar el código.

Espero que puedan echarme una mano. Wink

Tengo un portal con muchos cgi's. Algunos sólo se pueden utilizar si previamente se han validado.
Los cgi's depliegan el siguiente código como inicio de la página web que van a mostrar:

Código:
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<HTML>
<HEAD>
<TITLE>TITLE_TITLE</TITLE>
<meta http-equiv="Content-Type" content="text/html;">
<link rel="stylesheet" type="text/css" href="http://mi.server.com/forms.css">
<script type="text/javascript" src="http://mi.server.com/cookie.js"></script>
<script type="text/JavaScript">
<!--
function sesion()
{
   var id_session=GetCookie("session");
   alert(id_session);
   if (id_session != null)   
   {   
      document.formulario.id_login.value=id_session;   
   }
   else
   {
      alert("Your entry is expired. Please login again.");
      window.location.href="http://mi.server.com/cgi-bin/login.cgi";
   }
}
// -->
</script>
</HEAD>
<body onLoad="sesion()">


En la página hay un formulario con un campo hidden llamado id_login. Con la lectura de la cookie sé que identificador de sesión se asignó a este usuario y puedo consultar en una Base de Datos de qué usuario se trata.

Este sistema funciona bien, pero ahora tengo que hacer que unos iconos de una página html estática envien un formulario si se han validado o información básica si no.... y no funciona.

La función "GetCookie" siempre devuelve "null" y por tanto no funciona nunca Sad

He cogido la salida html de uno de los cgi's privados en los que funciona el código anterior y lo he guardado. Al abrirlo con el navegador la función "GetCookie" siempre devuelve null. Shocked

El código javascript de las funciones que recogen y guardan las cookies lo puse como ejemplo cuando conseguí que funcionaran los cgi's en el siguiente post:

http://perlenespanol.baboonsoftware.com/foro/viewtopic.php?t=748

¿¿Alguien puede explicarme por qué no funciona si despliego ese código Javascript en un html estático y sí funciona correctamente si lo despliega un cgi??

Gracias de antemano.
Mensaje Mie May 17, 2006 12:38 pm
explorer
Moderador
Moderador
Registrado: 24 Jul 2005
Mensajes: 4082
Ubicación: Valladolid, España
Responder citando

Lo único que se me ocurre de momento es que el navegador está filtrando el uso de las cookies en las páginas dinámicas al estar en un path distinto al de los cgi...
Mensaje Lun May 29, 2006 3:57 am
macgregor
Perlero Frecuente
Perlero Frecuente
Registrado: 09 Dic 2004
Mensajes: 117
Ubicación: españa
Responder citando

Hola a todos.

Explorer, he estado liadísimo y no he tenido mucho tiempo para investigar lo que pasa.

Miraré a fondo el dominio de las cookies, ya que es la única cosa que se me ocurre que genere este problema.
Pensaba que por defecto si no se define un dominio concreto la coockie acepta cualquier solicitud de consulta del servidor, independientemente del path, pero parece que no es así. Sad
Cuando tenga un poco de tiempo lo miraré y postearé el resultado por si es útil para alguien Very Happy

Gracias por la idea explorer.
Publicar nuevo tema   Responder al tema    Foros de discusión -> Javascript Todas las horas son GMT - 6 Horas
Página 1 de 1



Powered by phpBB © 2001, 2005 phpBB Group