Foros del Web » Programando para Internet » PHP »

Problemas con las cookies en XP

Estas en el tema de Problemas con las cookies en XP en el foro de PHP en Foros del Web. Buenas tardes:: hola a todos, tengo un problema bastante grande que no he podido solucionar, este es el siguiente tengo una pagina donde un usuario ...
  #1 (permalink)  
Antiguo 23/03/2005, 12:38
Avatar de mauricio2004  
Fecha de Ingreso: marzo-2004
Mensajes: 264
Antigüedad: 13 años, 8 meses
Puntos: 0
Problemas con las cookies en XP

Buenas tardes::

hola a todos, tengo un problema bastante grande que no he podido solucionar, este es el siguiente

tengo una pagina donde un usuario se tiene que validar con nombre de usuario ycontraseña,

al ingresar y validar si los datos son correctos, yo le creo una cookie para guardar los datos del usuario, la programacion de la cookie es la siguiente :

$username=$login;

$password=$pass;

$session_key = microtime( ) . $username;

$expiration_time = time( ) + 36000;

$secret = md5( "sdfkjsdkflhkh23hkjsdk#[email protected]%$#%DSF" );

$passhash = md5( $password . $secret );

$hash = md5( $username .

$session_key .

$expiration_time .

$secret .

$passhash );

setcookie( "username", $username, time( ) + 36000, "/", "", 0 );

setcookie( "session_key", $session_key, time( ) + 36000, "/", "", 0 );

setcookie( "expiration_time", $expiration_time, time( ) + 36000, "/", "", 0 );

setcookie( "hash", $hash, time( ) + 36000, "/", "", 0 );

setcookie( "passhash", $passhash, time( ) + 36000, "/", "", 0 );



existe una funcion validar y que despues la llamo en todas las paginas donde necesito que el usuario este validado

function validar( $username, $session_key, $expiration_time, $hash, $passhash ) {

$secret = md5( "sdfkjsdkflhkh23hkjsdk#[email protected]%$#%DSF" );

$h = md5( $username .

$session_key .

$expiration_time .

$secret .

$passhash );



if( $hash == $h && time( ) < $expiration_time )

{

return 1;

}

else

{

return 0;

}



}


y asi lo llamo en todas las paginas

if(!validar( $username, $session_key, $expiration_time, $hash, $passhash ) )

{

include ("sinregistro.php3");//inprime menu sin validacion

include ("comprobar.php3");// pagina que pregunta el nombrede usuario si es que no esta validado



}


la cosa es que no me esta resultando, es decir que no me esta escribiendo la cookie, y cada vez queme intento registrar me vuelve a preguntar el nombre de usuario y contraseña.

lo he hecho en otros exploradores, y no he tenido problemas, pareciera que es el xp que nome deja validar al usuario???

alguien que sepa por que sucede esto, envie respuesta rapido


saludos desde chile

Mauricio

Última edición por mauricio2004; 23/03/2005 a las 12:39
  #2 (permalink)  
Antiguo 23/03/2005, 12:54
 
Fecha de Ingreso: enero-2004
Ubicación: Salto
Mensajes: 484
Antigüedad: 13 años, 11 meses
Puntos: 2
Puede ser q en las "opciones de Internet", hay algo como "privacidad" y en ellas XP configura q cookie aceptar (o no aceptar ninguna o aceptarlas a todas). Algo q cualquier webmaster no puede controlar (es decir depende de la configuración de la máquina de cada usuario). Te convendría usar sessiones PHP para validar un usuario
__________________
Dios dira que esto no es justo, pero lo sera...
  #3 (permalink)  
Antiguo 23/03/2005, 13:17
Avatar de mauricio2004  
Fecha de Ingreso: marzo-2004
Mensajes: 264
Antigüedad: 13 años, 8 meses
Puntos: 0
Tu quieres decir que la solucion es usar sesiones?????
  #4 (permalink)  
Antiguo 23/03/2005, 15:07
O_O
 
Fecha de Ingreso: enero-2002
Ubicación: Santiago - Chile
Mensajes: 34.417
Antigüedad: 15 años, 11 meses
Puntos: 126
La solución no es usar cookies .. de hecho las sesiones suelen propagar el SID (Identificador Único de sesión) en cookies .. así que tendrías el mismo problema.

Revisa las opciones de tus navegadores con respecto a temas de privacidad, revisa también si usas proxys, firewalls, antivirus por médio que puedan estar bloqueando esas cookies ..

Un saludo,
  #5 (permalink)  
Antiguo 24/03/2005, 06:37
 
Fecha de Ingreso: febrero-2005
Mensajes: 867
Antigüedad: 12 años, 10 meses
Puntos: 3
si tienes el SP2 revisa el FIREware
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 23:57.