🚀 go-pugleaf

RetroBBS NetNews Server

Inspired by RockSolid Light RIP Retro Guy

Article View: es.comp.os.linux.programacion
Article #15867

Re: alcance de variable?

#15867
From: Xavier Montero
Date: Sun, 28 May 2000 00:00
58 lines
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-mail
References: <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