Foros del Web » Creando para Internet » Diseño web »

sistema de login ¿seguro?

Estas en el tema de sistema de login ¿seguro? en el foro de Diseño web en Foros del Web. Estoy haciendo un proyecto donde registro usuarios, se logean, podrán darse de baja y podrán solicitar una contraseña nueva. El caso es que quería tu ...
  #1 (permalink)  
Antiguo 13/05/2011, 10:07
Avatar de julliop  
Fecha de Ingreso: septiembre-2006
Ubicación: Asturias, patria querida
Mensajes: 42
Antigüedad: 17 años, 7 meses
Puntos: 0
sistema de login ¿seguro?

Estoy haciendo un proyecto donde registro usuarios, se logean, podrán darse de baja y podrán solicitar una contraseña nueva.
El caso es que quería tu tuviese un mínimo de seguridad, googleando y siguiendo este foro encontré este interesante enlace(no recuerdo el hilo ni tampoco el usuario que lo escribía, pido disculpas por no haberlo anotado) sobre contraseñas de un solo uso:

http://www.usebox.net/jjm/passw/

Como sistema de login y de registro creo que es bastante seguro(SSL aparte), podría mejorarse haciendo que la petición caducase(escucho otras mejoras), pero bueno, mi pregunta es: como en caso de que un usuario haya olvidado su contraseña puede modificarla de una forma segura.
Recuperarla imposible,
Mandarle una por correo sería totalmente inseguro, pues iría en texto plano,
¿Enviarle un correo con una dirección al servidor que le permita introducir una contraseña nueva?y que caduque al minuto? o pedir otro dato para confirmar que es el usuario realmente?

Espero me haya explicado bien y puedan ayudarme. Saludos
  #2 (permalink)  
Antiguo 14/05/2011, 02:45
Avatar de julliop  
Fecha de Ingreso: septiembre-2006
Ubicación: Asturias, patria querida
Mensajes: 42
Antigüedad: 17 años, 7 meses
Puntos: 0
Respuesta: sistema de login ¿seguro?

tan mal me explique??
  #3 (permalink)  
Antiguo 15/05/2011, 19:36
Avatar de Nemutagk
Colaborador
 
Fecha de Ingreso: marzo-2004
Ubicación: México
Mensajes: 2.633
Antigüedad: 20 años
Puntos: 406
Respuesta: sistema de login ¿seguro?

Para comenzar, el "tutorial" esta mal, no puedes iniciar un session_start(); después de una salida (echo, print o código HTML), ahora, no puedes estar sacrificando usabilidad por seguridad en una herramienta que van a utilizar cualquier persona, ya que cuando la herramienta es muy complicada de utilizar la gente la abandona...

Para recuperar una contraseña no hay mejor forma que enviar un link en la que se envia a un formulario para crear una nueva contraseña, obviamente el acceso esta restringido a un tiempo determinado, ahora, tampoco puedes ser tan extremo y paranoico en limitar el acceso a 1 min, recuerda que no siempre el email sale en el momento, puede tardar en salir o llegar al buzón un limite de 5 o 10 min esta perfecto
__________________
Listo?, tendría que tener 60 puntos menos de IQ para considerarme listo!!!
-- Sheldon Cooper
http://twitter.com/nemutagk
PD: No contestaré temas vía mensaje personal =)
  #4 (permalink)  
Antiguo 17/05/2011, 03:17
Avatar de julliop  
Fecha de Ingreso: septiembre-2006
Ubicación: Asturias, patria querida
Mensajes: 42
Antigüedad: 17 años, 7 meses
Puntos: 0
Respuesta: sistema de login ¿seguro?

Gracias por contestar Nemutagk.

Respecto a la session, no me había fijado, teoricamente tienes razón, pero ese mismo codigo con algún pequeño retoque está funcionando.

Lo del minuto me refería a logearse, no a modificar la contraseña, no soy tan paranóico...

Respecto a lo del email de modificación de la contraseña, que información tendría que mandarle al usuario? teniendo en cuenta que va a ir en texto plano.

Saludos
  #5 (permalink)  
Antiguo 17/05/2011, 06:32
Avatar de Nemutagk
Colaborador
 
Fecha de Ingreso: marzo-2004
Ubicación: México
Mensajes: 2.633
Antigüedad: 20 años
Puntos: 406
Respuesta: sistema de login ¿seguro?

Unicamente un link directo a un formulario con un identificador en una tabla aparte para poder saber quien es el que esta intentando restaurar su contraseña, pero no envíes su ID si no un identificador de sesión (no $_SESSION >.<), por ejemplo, en una tabla que se llame restaurarContrasenia creas los campos ID,userID,code,time, solo crea un "code" con una longitud no se, de 15 caracteres alfanuméricos y asociala al ID del usuario.

Ahora, si tu aplicación va a guardar información muy importante y valiosa de tu usuario como para preocuparte de que se envié en texto plano (por ejemplo información bancaria o algo así para ser tan precavido) no tiene caso que busques alternativas, aplica el sistema de pregunta y respuesta para restaurar la sesión y compra un certificado SSL
__________________
Listo?, tendría que tener 60 puntos menos de IQ para considerarme listo!!!
-- Sheldon Cooper
http://twitter.com/nemutagk
PD: No contestaré temas vía mensaje personal =)

Etiquetas: contraseñas, login, otp, php, seguridad
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 15:54.