Article View: es.comp.os.linux.programacion
Article #15867Re: alcance de variable?
From: Xavier Montero
Date: Sun, 28 May 2000 00:00
Date: Sun, 28 May 2000 00:00
58 lines
2854 bytes
2854 bytes
jegart@my-deja.com escribi�:
>
> Hola!
>
Hola. Lo que debes hacer es lo siguiente:
1) En el Mysql montas una tabla de "sesiones activas"
2) Al autentificar el usuario le creas un c�digo de sesi�n
(aleatorio y de muchos caracteres) e insertas en la base
{"C�DIGO DE SESI�N", "user asociado"}
3) Pasas como par�metro ese c�digo de sesi�n.
4) Cuando entras en la siguiente p�gina inmediatamente
borras ese c�digo y lo substituyes por otro, y la p�gina que
generes usa ya el c�digo nuevo.
As� consigues hacer lo que se llama el "tracking" del usuario
sin "nombrarlo" explicitamente.
Es recomendable tambi�n insertar la hora de la �ltima llamada
al UPDATE (con un tipo de dato TIMESTAMP servir�). Cuando llames
a las rutinas de autentificaci�n, antes de validar una sesi�n
primero borra todas las entradas que tengan una actualizaci�n
por �ltima vez de 30 minutos (o lo que quieras), as� las
sesiones caducan solas por si el usuario no las cierra.
Adem�s debes dar un link de "salir" por si el usuario desea
finalizar su sesi�n inmediatamente forzando que se borre
de la base de datos.
Este m�todo tiene un problema:
Si est�s en un cybercaf� y est�s en una sesi�n activa, aunque
se vea la URL no pasa nada porque al llamar la p�gina (como
he dicho) has cambiado el c�digo de sesi�n y aunque lo vea
alguien y copie la URL ya no ser� v�lida. Eso tambi�n provoca
que un "reload" de la p�gina falle.
Este m�todo, adem�s tiene un fallo de seguridad:
Si est�s en el mismo cybercaf� y dejas el mouse sobre un link,
en la barra de estado aparecer� el c�digo de sesi�n que s�
es v�lido. Si el c�digo es corto pueden copiarlo con un vistazo.
La �nica forma de reducir el problema es poner un c�digo de unos
100 caracteres (o los que sean) para que se salga de la barra de
estado por ser demasiado largo.
Otra soluci�n es combinarlo con la detecci�n de IP y si se
intenta entrar en un c�digo de sesi�n v�lido, comprobar que
la IP sea la que toca.
Espero ser de ayuda.
--------------------------------------------------------------
Chao!
Xavi
http://www.dsitelecom.com/ (Digital Sound Items)
--------------------------------------------------------------
Technical Details
Message-ID:
<393114BF.94999EC5@dsitelecom.com>Path:
arc1-ca.pugleaf.net!unknown!not-for-mailReferences:
<8gn2rb$6l$1@nnrp1.deja.com>Show Full Headers
Complete Article Headers
X-Google-Language: SPANISH,ASCII X-Google-Thread: f86c8,7754beda6e790503 X-Google-Attributes: gidf86c8,public From: Xavier Montero <xmontero@dsitelecom.com> Subject: Re: alcance de variable? Date: 2000/05/28 Message-ID: <393114BF.94999EC5@dsitelecom.com> X-Deja-AN: 628211477 Content-Transfer-Encoding: 8bit References: <8gn2rb$6l$1@nnrp1.deja.com> X-Accept-Language: en Content-Type: text/plain; charset=iso-8859-1 Organization: Digital Sound Items Mime-Version: 1.0 Newsgroups: es.comp.os.linux.programacion