Foros del Web » Programando para Internet » PHP »

¿Una autenticación más segura y eficiente?

Estas en el tema de ¿Una autenticación más segura y eficiente? en el foro de PHP en Foros del Web. Buenas, Estoy construyendo un sistema de usuarios (reinventando la rueda jeje) y la verdad, siempre he visto ejemplos, leido manuales, documentacion, etc y siempre he ...
  #1 (permalink)  
Antiguo 17/07/2009, 19:22
Avatar de thesixhalcon  
Fecha de Ingreso: noviembre-2007
Ubicación: Madrid (España)
Mensajes: 55
Antigüedad: 17 años
Puntos: 1
¿Una autenticación más segura y eficiente?

Buenas,
Estoy construyendo un sistema de usuarios (reinventando la rueda jeje) y la verdad, siempre he visto ejemplos, leido manuales, documentacion, etc y siempre he visto el tipico sistema de guardar los datos introducidos en el formulario de login en sesiones o cookies. En este último caso, para realizar una comprobacion de que el usuario está conectado, primero miramos si hay cookies y despues comprobamos la contraseña o los datos que queramos de ese usuario, ¿verdad? El caso es que dicho método puede ser "inseguro" si andamos buscando una autenticación segura porque mediante un ataque XSS podemos modificar las cookies y acceder a otros datos.
Si hacemos bien la comprobacion de los datos, el usuario no podrá acceder a diferentes datos debido a que puede que no coincidan los datos de verificación (nombre de usuario, contraseña..), pero en el caso de que el usuario, pongamos el caso, tenga múltiples cuentas y sepa sus datos, el usuario, utilizando el ataque XSS puede cambiar de usuario de una manera "inesperada".
Para hacer que el método de comprobacion de login, ¿sería más conveniente utilizar una tabla en la base de datos con una especie de id o token, la id de su usuario y la ip del cliente y hacer que solo haya una cookie con el token (una vez autenticado) y nada más, minimizando asi el uso de la base de datos haciendo una única comprobacion al principio y reduciendo las siguientes consultas para recoger la id de usuario almacenada con el token? ¿sería más seguro este método (incluyendo ataques de otro tipo)? ¿y más eficiente?

Espero sus comentarios y gracias por leerlo!
  #2 (permalink)  
Antiguo 17/07/2009, 19:39
 
Fecha de Ingreso: julio-2008
Mensajes: 85
Antigüedad: 16 años, 4 meses
Puntos: 2
Respuesta: ¿Una autenticación más segura y eficiente?

Me da la impresión de que mezclas conceptos, o más probablemente no te acabo de entender.

Pero el método que sugieres al final es el que se usa.

Si sirve para que nos entendamos:

Una vez autenticado el usuario, guardas ese token en la base de datos de tal manera que quede asociado con ese usuario. Luego entregas ese token en forma de cookie al usuario, y en cada petición de página te es devuelto y puedes recoger a que usuario pertenece.

Todo esto está completamente automatizado en PHP si usas sesiones, por si quieres ahorrarte esa parte.
  #3 (permalink)  
Antiguo 17/07/2009, 19:47
Avatar de thesixhalcon  
Fecha de Ingreso: noviembre-2007
Ubicación: Madrid (España)
Mensajes: 55
Antigüedad: 17 años
Puntos: 1
Respuesta: ¿Una autenticación más segura y eficiente?

La verdad, no sabía que era el sistema que se usa ahora ya que solo vi manuales en plan anterior, aunque no te lo van a dar todo resuelto en esta vida, verdad?
Pero nunca viene mal preguntar por si acaso y probablemente alguien que tenga este mismo "problema" pueda aprender de ello.
De todas formas LoveMeNot, duda resuelta y gracias ;)
  #4 (permalink)  
Antiguo 17/07/2009, 19:52
Avatar de maycolalvarez
Colaborador
 
Fecha de Ingreso: julio-2008
Ubicación: Caracas
Mensajes: 12.120
Antigüedad: 16 años, 4 meses
Puntos: 1532
Respuesta: ¿Una autenticación más segura y eficiente?

Concuerdo con LoveMeNot, de todas formas no deberías utilizar la IP, ya que muchos usuarios y redes optan por utilizar proxys y no podrás saber quien es quien por medio de la ip.
  #5 (permalink)  
Antiguo 17/07/2009, 19:55
Avatar de thesixhalcon  
Fecha de Ingreso: noviembre-2007
Ubicación: Madrid (España)
Mensajes: 55
Antigüedad: 17 años
Puntos: 1
Respuesta: ¿Una autenticación más segura y eficiente?

Había contado ese factor ya que yo mismo uso proxy para testear mis aplicaciones jeje, lo ponía solo como ejemplo ;) pero igualmente, gracias por la aclaración.
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:13.