Foros del Web » Programando para Internet » PHP »

Sesiones. Seguridad.

Estas en el tema de Sesiones. Seguridad. en el foro de PHP en Foros del Web. Hola. La pregunta os puede parecer simplona, pero me preocupa. En una Web un usuario se identifica. Se crea una sesión y accede a su ...
  #1 (permalink)  
Antiguo 22/01/2005, 02:43
 
Fecha de Ingreso: mayo-2004
Mensajes: 393
Antigüedad: 20 años, 6 meses
Puntos: 0
Sesiones. Seguridad.

Hola.

La pregunta os puede parecer simplona, pero me preocupa.

En una Web un usuario se identifica. Se crea una sesión y accede a su microsite privado. Para salir de él debería pulsar "desconectar", que lleva a una página que destruye la sesión con session_destroy();

Las dudas que tengo son:

1.- ¿Prodría asignarse por error la misma sesión a dos usuarios distintos?. En local no me pasa, cada vez que entro crea una nueva sesión. Pero en el servidor no lo sé (imagino que hace lo mismo, pero no sé cómo comprobarlo).

2.- Si un usuario no sale de su microsite pulsando "desconectar", la sesión permanece en el archivo de temporales. La duda aquí es si alguien que entra, tras pasar la autentificación y crear una sesión con session_star(); en lugar de crearse una nueva, se retome una de las que permenecen.

La lógica me hace pensar que no, pero la verdad, no me fío y quisiera estar seguro de ambas dudas.

¿Cómo podría destruir siempre las sesiones sea cual sea la forma en que el usuario registrado abandona su sitio?.

Gracias por vuestra ayuda.
  #2 (permalink)  
Antiguo 22/01/2005, 05:44
Avatar de spider_boy  
Fecha de Ingreso: diciembre-2003
Ubicación: Chile
Mensajes: 1.855
Antigüedad: 20 años, 11 meses
Puntos: 89
hola, te daré unas respuestas simples ya que no se mucho pero igual...

1.- no, no se podría ya que si programaste bien el registro y logueo de los usuarios, no se podrá registrar ni loguear 2 personas con el mismo nombre de usuario...

2.- no, ya que si el usuario permanece logueado, no podría loguearse otra persona o retomar el logueo del usuario que salio de la web, ya que no creo posible que una persona que viva en españa por ejemplo se salga de la web y luego una persona alemana que visita la misma web retome su sesión...

la última de como eliminar sea cual sea la forma de abandonar la web no la sé, espero te sirvan las otras 2...
  #3 (permalink)  
Antiguo 22/01/2005, 09:31
Avatar de thunder-ion  
Fecha de Ingreso: diciembre-2004
Mensajes: 106
Antigüedad: 19 años, 11 meses
Puntos: 0
ID Sesiones por URL

Que un usuario tome la sesión de otro, no es realmente fácil, pero no imposible. Me explico:

Existen muchos sitios Web que pasan por URL la ID de la sesión, lo que significa que si el usuario copia y pega esa URL con su identificador de sesión en un foro, el messenger etc, otros podrían acceder a su sesión si el sistema no esta bien programado. Yo conozco algunos sitios en los que ocurre esto, y que si un usuario inicia su sesión y por accidente revela su ID de sesión a otra persona, esta puede retomarla y modificar parámetros al usuario.

Es muy importante que si pasas este parámetro por URL guardes algún dato sobre el usuario (como la IP) que lo identifique como poseedor de la sesión, sino podria producirse un pequeño "robo" de sesión. Cuando caduque la sesión, o el verdadero usuario, cierre la sesión, el atacante quedaria sin acceso al sistema, pero podría haber cambiado importantes parámetros (como el de email del usuario) y hacerse finalmente con la cuenta de la victima.

Suerte !!!

Última edición por thunder-ion; 22/01/2005 a las 09:34
  #4 (permalink)  
Antiguo 22/01/2005, 11:50
 
Fecha de Ingreso: mayo-2004
Mensajes: 393
Antigüedad: 20 años, 6 meses
Puntos: 0
Gracias, spider_boy y thunder-ion por responder. No paso la id de sesión por URL . De hecho, sólo registro el nombre del usuario y si ha pasado o no la autentificación. Todas las demás variables las tomo cuando las necesito y las uso en el script sin registrarlas en la sesión.

Así que, por lo que decís, puedo olvidar este tema.

Gracias.
  #5 (permalink)  
Antiguo 22/01/2005, 15:15
Avatar de thunder-ion  
Fecha de Ingreso: diciembre-2004
Mensajes: 106
Antigüedad: 19 años, 11 meses
Puntos: 0
De nada.

Que vaya bien
  #6 (permalink)  
Antiguo 23/01/2005, 14:33
O_O
 
Fecha de Ingreso: enero-2002
Ubicación: Santiago - Chile
Mensajes: 34.417
Antigüedad: 22 años, 10 meses
Puntos: 129
Cita:
Iniciado por javifo
Gracias, spider_boy y thunder-ion por responder. No paso la id de sesión por URL . De hecho, sólo registro el nombre del usuario y si ha pasado o no la autentificación. Todas las demás variables las tomo cuando las necesito y las uso en el script sin registrarlas en la sesión.

Así que, por lo que decís, puedo olvidar este tema.

Gracias.
Si tu sistema funciona y no sabes ni como pasas el SID . .implica que lo està haciendo tu configuraciòn por Cookies. Es decir, la propagaciòn del SID se hace en cookies, lo cual requiere de un navegador que las acepte. Por lo demàs es este el mètodo recomendado por seguridad de propagaciòn del SID.

Puedes leer màs sobre el tema en este artìculo que recomienda php.net
http://www.acros.si/papers/session_fixation.pdf

Un saludo,
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 14:44.