Foros del Web » Programando para Internet » PHP »

Cookie que expira antes de tiempo

Estas en el tema de Cookie que expira antes de tiempo en el foro de PHP en Foros del Web. No se si este es el foro del portal adecuado para la pregunta. Tengo una cookie que expira al cerrar la sessions. Si miro en ...
  #1 (permalink)  
Antiguo 14/01/2005, 06:45
Avatar de chuscazo  
Fecha de Ingreso: abril-2004
Mensajes: 84
Antigüedad: 20 años
Puntos: 0
Cookie que expira antes de tiempo

No se si este es el foro del portal adecuado para la pregunta.

Tengo una cookie que expira al cerrar la sessions. Si miro en mi navegador Firefox asi lo pone tambien. La cookie se crea al autentificarse el usuario mediante php y crear una session. Esta cookie la utilizo para integrar aplicaciones en un single-sigon

El problema es que si tengo la pagina en el navegador abierta mucho rato con la cookie creada, por que ya me autentifique, e intento ir a una de las aplicaciones que utiliza esta cookie, me vuelve a pedir la autentificacion. Esta autetificacion es para la aplicacion a la que intento acceder por que la session php sigue activa y el menu de aplcaciones lo siguo teniendo aunque refresque. Lo que yo creo que pasa es que la cookie ha expirado, pero ¿por que? si no cerre el navegador ni la session php. ¿Puede ser el navegador?

Gracias adelantadas, busque mucho por internet pero no encontre problema parecido.
  #2 (permalink)  
Antiguo 14/01/2005, 07:06
 
Fecha de Ingreso: junio-2003
Ubicación: Valencia
Mensajes: 334
Antigüedad: 20 años, 10 meses
Puntos: 0
Lo estas haciendo todo bien?
Mira que no haya ninguna linea encima de la cookie, pues si no funcionara mal, o no lo hara.
Segundo, el codigo de la cookie es algo asi:

set_cookie( nombre, [contenido], [fecha de caducidad], [ruta], [dominio],[secure] );

en "fecha de caducidad" se indica la hora en que sera destruida la cookie, puedes emplear time(num_segundos).
Una vez creada la cookie la llamas en cualquier lugar del script igual que de una variable se tratase.
__________________
http://reunga.com
Desarrollo de aplicaciones informáticas
  #3 (permalink)  
Antiguo 14/01/2005, 07:22
Avatar de chuscazo  
Fecha de Ingreso: abril-2004
Mensajes: 84
Antigüedad: 20 años
Puntos: 0
Si todo eso esta bien, ya utilizo la cookie nada mas logarme o poco despues para autentificar contra otras aplicaciones mediante un modulo de apache que se llama mod_auth_cookie.

El error viene despues, al rato y si no he utilizado la cookie todabia con la aplicacion a la que intento acceder (por que si ya la utilice es el navegador el encargado de saber que ya esta autentificado) entonces me pide la autentificacion http por que la cookie no la encuentra. (Se me habia olvidado decir que las aplicaciones autetifican por http, solo el portal de aplicaciones lo hace por php.)

Para que la cookie expire al cerrar el navegador le pongo 0 en el atributo expire del setcookie.Vi que -1 tambien vale, lo probe y es cierto.

Muchas gracias por tu pronta respuesta e interes
  #4 (permalink)  
Antiguo 14/01/2005, 08:49
 
Fecha de Ingreso: junio-2003
Ubicación: Valencia
Mensajes: 334
Antigüedad: 20 años, 10 meses
Puntos: 0
Pues, no se me ocurre ninguna idea porque puede estar mal.
Podrias dejar el fragmento de codigo donde se genera y utiliza la cookie para asi ver exactamente lo que pasa?
__________________
http://reunga.com
Desarrollo de aplicaciones informáticas
  #5 (permalink)  
Antiguo 18/01/2005, 04:23
Avatar de chuscazo  
Fecha de Ingreso: abril-2004
Mensajes: 84
Antigüedad: 20 años
Puntos: 0
Perdonar por la tardanza pero el lunes no curre. Pongo el codigo de creacion de la cookie,
Código PHP:
$value="$usuario:$pass";
        
$value=base64_encode($value);
        
setcookie("CookieName",$value,0,"/","dominio.com",""); 
luego la cookie la utilizo mediante un modulo de apache, pongo el trozito del fichero de configuracion de apache,

Código:
 
LoadModule cookie_auth_module /usr/lib/apache/1.3/mod_auth_cookie.so

<virtualhost ....>
   
  <directory .....>
     AuthUserFile /tal/tal/.htpasswd
     AuthName 'autentificacion'
     AuthType Basic
     AuthCookieName CookieName
     AuthCookieBase64 On
  </directory>
</virtualhost>
Con esta configuracion, si la cookie existe no te pide el usuario y el pass y las coge e la cookie.
En verdad es un poco mas complicado por que existe otro modulo que delega la autentificacion en un script externo, pero esa parte funciona correctamente. Lo que fallaba era que la cookie caducaba antes de cerrar la sesion.

Pongo tambien lo que me sale en mi navegador acerca de esta cookie.

Código:
    nombre: CookieName
    contenido: user:pass
    dominio: dominio.com
    Servidor seguro: no
    Ruta: /
    Expira: al finalizar sesion
Puede que este no sea el foro adecuado para mi duda.
Gracias Saludos
  #6 (permalink)  
Antiguo 18/01/2005, 09:00
 
Fecha de Ingreso: junio-2003
Ubicación: Valencia
Mensajes: 334
Antigüedad: 20 años, 10 meses
Puntos: 0
Hola Chuscazo,
yo no veo el error (si es que existe), prueba a instalar otro navegador y pruebalo en el. Nunca he usado el que tu usas, pero se que existen muchos navegadores en internet que no aceptan cookies.
Siento no poder ayudarte en mas.
__________________
http://reunga.com
Desarrollo de aplicaciones informáticas
  #7 (permalink)  
Antiguo 19/01/2005, 03:22
Avatar de chuscazo  
Fecha de Ingreso: abril-2004
Mensajes: 84
Antigüedad: 20 años
Puntos: 0
muchas gracias de todos modos Kavalerian. Saludos a todos
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 09:38.