Foros del Web » Programando para Internet » PHP »

Sistema de usuarios con sesiones y cookies

Estas en el tema de Sistema de usuarios con sesiones y cookies en el foro de PHP en Foros del Web. Hola.. les quiero hacer una consulta... tengo un sistema de usuarios en el cual cuando el usuario se loguea crea la session -user- pero tengo ...
  #1 (permalink)  
Antiguo 06/02/2008, 06:19
 
Fecha de Ingreso: junio-2007
Ubicación: Argentina
Mensajes: 111
Antigüedad: 16 años, 10 meses
Puntos: 0
Sistema de usuarios con sesiones y cookies

Hola.. les quiero hacer una consulta... tengo un sistema de usuarios en el cual cuando el usuario se loguea crea la session -user- pero tengo entendido que esa informacion la guarda en el servidor... el tema es que tengo miedo que cuando ingrese otro usuario en otra computadora lo tome como que esta logueado porque el nombre de la session es user tambien... no tendria que poner $_SESSION["user[i]"] o alguna array o algo por el estilo... espero que me puedan entender... porque si pongo cookies tengo miedo que si no tiene activado los coockies no pueda ingresar... alguno tiene algun ejemplo de como se hace un sistema de usarios para paginas tipo.. netlog?

Código PHP:
$query mysql_query("SELECT password FROM $db[prefix]_data WHERE nick = '$username'") or die(mysql_error());
$data mysql_fetch_array($query);
       if(
$data['password'] == $password)
       {
      
$_SESSION["user"] = $username;
      
// Crea la cookie y actualiza le nonce (md5 aleatorio para hacerlo más seguro.)
      
$nonce md5(uniqid(rand(), true));
      
setcookie("nonce"$noncetime() + 7776000);
      
$query mysql_query("UPDATE users SET nonce = '$nonce' WHERE username = '$username'");
      
//echo "login ok";
     
$msj_usuario "Log ok.";
     
?> 
Gracias
  #2 (permalink)  
Antiguo 06/02/2008, 08:03
 
Fecha de Ingreso: marzo-2007
Mensajes: 347
Antigüedad: 17 años, 1 mes
Puntos: 2
Re: Sistema de usuarios con sesiones y cookies

Eso no puede pasar, estas confundiendo el nombre de una variable con el valor, cada session tiene su id, y los valores de las variables de una session de una id, no se mezclan con la de otra id, no pasara nunca, que yo me conecte a una pagina donde te acabas de conectar, y que yo este conectado como tu usuario, ya que yo no puedo usar los valores de las variables que te han asignado a ti.
  #3 (permalink)  
Antiguo 06/02/2008, 09:00
 
Fecha de Ingreso: junio-2007
Ubicación: Argentina
Mensajes: 111
Antigüedad: 16 años, 10 meses
Puntos: 0
Re: Sistema de usuarios con sesiones y cookies

Ok.. muchas gracias... espero que si alguien tiene algo diferente para aportar a mi duda lo haga.... muchas gracias y hasta ahora tengo tu respuesta como parametro...

Cita:
Iniciado por Francisco01 Ver Mensaje
Eso no puede pasar, estas confundiendo el nombre de una variable con el valor, cada session tiene su id, y los valores de las variables de una session de una id, no se mezclan con la de otra id, no pasara nunca, que yo me conecte a una pagina donde te acabas de conectar, y que yo este conectado como tu usuario, ya que yo no puedo usar los valores de las variables que te han asignado a ti.
  #4 (permalink)  
Antiguo 06/02/2008, 09:23
Avatar de GatorV
$this->role('moderador');
 
Fecha de Ingreso: mayo-2006
Ubicación: /home/ams/
Mensajes: 38.567
Antigüedad: 17 años, 11 meses
Puntos: 2135
Re: Sistema de usuarios con sesiones y cookies

Lo que te comenta Francisco01 es "correcto" aunque si es posible engañar al navegador, ya que el ID de la sesion se guarda en una cookie. Por lo que si alguien consigue hacer un ataque XSS a tu pagina podria sacar el valor de tu cookie, y hacerse pasar por un usuario que ya este logueado.

Para prevenir esto debes de hacer varias cosas, una de ellas es limpiar todas las variables que vienen del usuario, tanto de POST, GET, y COOKIE. Tambien es buena practica nombrar tus sesiones:
Código PHP:
session_name"miaplicacion" );
session_start(); 
Saludos.
  #5 (permalink)  
Antiguo 06/02/2008, 10:09
 
Fecha de Ingreso: junio-2007
Ubicación: Argentina
Mensajes: 111
Antigüedad: 16 años, 10 meses
Puntos: 0
Re: Sistema de usuarios con sesiones y cookies

Es interesante eso que decis de evitar el ataque XSS.... pero hay algun ejemplo por la red dando vueltas porque realmente es un proyecto personal y no tengo mucha idea... o sea lo que yo hago es nombrar la $_SESSION con el nombre del usuario en ningun momento guardo nada en alguna cookie creo...

El session_start lo tengo en la conexion a la base de datos para ahorrar escribirlo en todas las paginas.... esta bien esto?


Cita:
Iniciado por GatorV Ver Mensaje
Lo que te comenta Francisco01 es "correcto" aunque si es posible engañar al navegador, ya que el ID de la sesion se guarda en una cookie. Por lo que si alguien consigue hacer un ataque XSS a tu pagina podria sacar el valor de tu cookie, y hacerse pasar por un usuario que ya este logueado.

Para prevenir esto debes de hacer varias cosas, una de ellas es limpiar todas las variables que vienen del usuario, tanto de POST, GET, y COOKIE. Tambien es buena practica nombrar tus sesiones:
Código PHP:
session_name"miaplicacion" );
session_start(); 
Saludos.
  #6 (permalink)  
Antiguo 06/02/2008, 10:32
Avatar de GatorV
$this->role('moderador');
 
Fecha de Ingreso: mayo-2006
Ubicación: /home/ams/
Mensajes: 38.567
Antigüedad: 17 años, 11 meses
Puntos: 2135
Re: Sistema de usuarios con sesiones y cookies

Ejemplos no hay ya que se deben de hacer especificamente por sitio, pero hay escanners como este: http://www.acunetix.com/vulnerability-scanner/, personalmente yo lo uso para testear mis sitios y estar protegido contra ataques XSS y SQL Inyection.

Saludos.
  #7 (permalink)  
Antiguo 06/02/2008, 10:37
 
Fecha de Ingreso: junio-2007
Ubicación: Argentina
Mensajes: 111
Antigüedad: 16 años, 10 meses
Puntos: 0
Re: Sistema de usuarios con sesiones y cookies

Ok GatorV... te agradezco mucho.. voy a probarlo... me gustaria si me podes agregar como contacto en tu msn... no soy muy molesto pero es mas que nada por si necesito alguna ayuda de algo molestarte un poquito.. ajaaj.. mi msn es... [email protected]
  #8 (permalink)  
Antiguo 06/02/2008, 12:06
 
Fecha de Ingreso: marzo-2007
Mensajes: 347
Antigüedad: 17 años, 1 mes
Puntos: 2
Re: Sistema de usuarios con sesiones y cookies

Entiendo lo de los ataques XSS, pero tengo una duda, en que ayuda a evitarlo ponerle nombre a la session?
  #9 (permalink)  
Antiguo 06/02/2008, 12:58
Avatar de GatorV
$this->role('moderador');
 
Fecha de Ingreso: mayo-2006
Ubicación: /home/ams/
Mensajes: 38.567
Antigüedad: 17 años, 11 meses
Puntos: 2135
Re: Sistema de usuarios con sesiones y cookies

La cookie se cambia de nombre y un hacker siempre apuntara al nombre por defecto.

Saludos.
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 11:28.