Foros del Web » Programando para Internet » PHP »

Recordar Usuario y Contraseña

Estas en el tema de Recordar Usuario y Contraseña en el foro de PHP en Foros del Web. Bueno gente estoy trantando de recordar un usuario y contraseña, la idea es que la persona cierre el navegador, y cuando lo abra, aparezca logueado ...
  #1 (permalink)  
Antiguo 12/07/2011, 12:30
Avatar de leo_nqn  
Fecha de Ingreso: abril-2010
Ubicación: Neuquen
Mensajes: 461
Antigüedad: 14 años
Puntos: 24
Recordar Usuario y Contraseña

Bueno gente estoy trantando de recordar un usuario y contraseña, la idea es que la persona cierre el navegador, y cuando lo abra, aparezca logueado con el nombre de usuario y contraseña que el quizo que no cierre sesion.

Por ahora valido el usuario y recibo si el checkbox (no cerrar sesion) esta seleccionado.... si esta seleccionado creo 2 cookies:

Código:
if ($_POST['recordar']==1){
                    setcookie("user","$usuario->nombre", time()+3600*24*365);
                    setcookie("pw","$usuario->password", time()+3600*24*365);
                }
Mi 1er duda es si esto esta bien creado.. y la 2da duda que tengo es como leo esta cookie cuando se abre el navegador nuevamente, para que el usuario siga logueado???

Espero respuestas... y muchas gracias, saludos!
__________________

Blog: http://leonardonqn.blogspot.com
Twitter:@Leo_FFerreyra
  #2 (permalink)  
Antiguo 12/07/2011, 12:48
Avatar de andres_aquino  
Fecha de Ingreso: septiembre-2010
Ubicación: $("#place").html("FDW");
Mensajes: 138
Antigüedad: 13 años, 7 meses
Puntos: 24
Respuesta: Recordar Usuario y Contraseña

1ra duda:
Todo bien.

2da duda:
Para leer la cookie que has creado, nada más debes hacer algo como esto: $_COOKIE['user'] y preguntar por el valor guardado en esa cookie. Entonces, si compruebas que está seteado el "user" con un valor, lo lees directamente desde la cookie y listo.


Este código a continuación, es un ejemplo quitado de otra web:

Código PHP:
setcookie("webtaller",1,time()+30*24*60*60);

if(isset(
$_COOKIE['webtaller'])) {
    
$_COOKIE['webtaller']++;
    
setcookie("webtaller",$_COOKIE['webtaller'],time()+30*24*60*60);
} else {
    
setcookie("webtaller",1,time()+30*24*60*60);

Fuente: http://www.webtaller.com/construccio...ookies-php.php

Espero te sirva.
Saludos
__________________
Te sirvió mi ayuda? +1 ;D
Andy Aquino - @aquiandres
  #3 (permalink)  
Antiguo 12/07/2011, 12:59
Avatar de leo_nqn  
Fecha de Ingreso: abril-2010
Ubicación: Neuquen
Mensajes: 461
Antigüedad: 14 años
Puntos: 24
Respuesta: Recordar Usuario y Contraseña

Buenimo gracias @andres_aquino, estoy intentando leer la cookie de esa manera, pero me surgio otra duda, ya probe pero no me funciona, tal vez me falta algo.
Si yo creo la cookie en la pagina www.mypagina.php/casa.php, cierro el navegador y si abro de nuevo mi web, pero en www.mypagina.php, en esta 2da puedo leer la cookie que cree anteriormente?
__________________

Blog: http://leonardonqn.blogspot.com
Twitter:@Leo_FFerreyra
  #4 (permalink)  
Antiguo 12/07/2011, 13:28
Avatar de andres_aquino  
Fecha de Ingreso: septiembre-2010
Ubicación: $("#place").html("FDW");
Mensajes: 138
Antigüedad: 13 años, 7 meses
Puntos: 24
Respuesta: Recordar Usuario y Contraseña

Sí, de hecho que cuando creas una cookie, ésta se guarda en el pc del visitante y luego debería estar disponible para leerlo desde cualquier parte de tu sitio en cuestión. Ah! Pero claro, ahora veo porque no está funcionandote correctamente. Es por lo siguiente, fíjate que para que puedas usarlo desde cualquier lugar de tu sitio web (sea el archivo que sea) debes pasarle explícitamente a la función setcookie() el dominio de tu site; debería quedarte algo como:

Código PHP:
// para tener la cookie disponible en cualquier parte de tu sitio
setcookie("user","$usuario->nombre"time()+3600*24*365"/""sitio.com"1);

// para borrar la cookie que has creado anteriormente
setcookie("user"""time() - 3600*24*365"/""sitio.com"1); 
El sexto parámetro, el 1 del final, sirve para evitar que tu cookie pueda ser utilizado por lenguajes de scripting como javascript y evitar ataques XSS. Ahora debería de funcionarte agregando estos tres parámetros restantes. Luego lo cuentas
__________________
Te sirvió mi ayuda? +1 ;D
Andy Aquino - @aquiandres
  #5 (permalink)  
Antiguo 12/07/2011, 13:58
Avatar de leo_nqn  
Fecha de Ingreso: abril-2010
Ubicación: Neuquen
Mensajes: 461
Antigüedad: 14 años
Puntos: 24
Respuesta: Recordar Usuario y Contraseña

Sigue sin funcionar, sinceramente no entiendo cual sera el problema.. es mas estoy buscando la cookie en mi maquina y no la encuentro.
__________________

Blog: http://leonardonqn.blogspot.com
Twitter:@Leo_FFerreyra
  #6 (permalink)  
Antiguo 12/07/2011, 16:00
Avatar de leo_nqn  
Fecha de Ingreso: abril-2010
Ubicación: Neuquen
Mensajes: 461
Antigüedad: 14 años
Puntos: 24
Respuesta: Recordar Usuario y Contraseña

Bueno ahora comprobe que tengo creada la cookie.. osea al momento que la creo , la puedo usar y la puedo ver, pero el problema es que la necesito en otra hoja... no se si sera el tiempo de duracion que le puse a la cookie... pero el codigo es el siguiente:

setcookie("user","$cookusuario", time()+ 31536000, "/", "misitio.com", 1);

Si alguien sabe la solucion o me puede guiar lo agradeceria, saludos y gracias!
__________________

Blog: http://leonardonqn.blogspot.com
Twitter:@Leo_FFerreyra
  #7 (permalink)  
Antiguo 12/07/2011, 16:31
Avatar de Nemutagk
Colaborador
 
Fecha de Ingreso: marzo-2004
Ubicación: México
Mensajes: 2.633
Antigüedad: 20 años
Puntos: 406
Respuesta: Recordar Usuario y Contraseña

En realidad puede a ver problemas con la forma en la que estas creando la cookie ya que estas indicando que se envié la petición por conexión segura (HTTPS), sin embargo, si no posees una conexión segura activa no se creará dicha cookie, es mejor ingresarla sin seguridad...
Código PHP:
Ver original
  1. setcookie('user',$user,time() + (3600 * 24), '/','midominio.com',1) //Con seguridad HTTPS
  2. setcookie('user',$user,time() + (3600 * 24), '/','midominio.com',0) //Sin seguridad HTTP

Otra cosa, por nada del mundo deberías enviar la contraseña en una cookie por protección de la cuenta del usuario, independiente mente que la conexión se mantenga un usuario mal intencionado puede obtener la contraseña de la cuenta simplemente mirando el valor de la cookie
__________________
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 =)
  #8 (permalink)  
Antiguo 12/07/2011, 17:06
Avatar de leo_nqn  
Fecha de Ingreso: abril-2010
Ubicación: Neuquen
Mensajes: 461
Antigüedad: 14 años
Puntos: 24
Respuesta: Recordar Usuario y Contraseña

era eso amigooo!! muchas gracias!!!! mil gracias!! ahora... te comento esto... que me sugeris??? si tengo que hacer como esta web por ej.. que marcas recordar... y al entrar apareces logueado...

Mi idea era crear la cookie, y levantarla para validar user y pass... pero se que no es recomendable dejar la pass en una cookie... uso md5? para guardarla? o conoces alguna otra manera de validar estos datos?
__________________

Blog: http://leonardonqn.blogspot.com
Twitter:@Leo_FFerreyra
  #9 (permalink)  
Antiguo 12/07/2011, 17:10
Avatar de Nemutagk
Colaborador
 
Fecha de Ingreso: marzo-2004
Ubicación: México
Mensajes: 2.633
Antigüedad: 20 años
Puntos: 406
Respuesta: Recordar Usuario y Contraseña

Lo mejor seria crear una cadena alfanumérica como valor en la cookie y en la BD asociarla con el usuario indicado, cuando el usuario regrese al sitio solo valida que sea una cadena valida y crea la sesión, esto, para mi es lo mas seguro, sin embargo puedes agregar la contraseña encriptada con MD5, solo que evita llamar pass/password/etc para evitar que un usuario mal intencionado busque el hash en internet
__________________
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 =)
  #10 (permalink)  
Antiguo 12/07/2011, 17:13
Avatar de leo_nqn  
Fecha de Ingreso: abril-2010
Ubicación: Neuquen
Mensajes: 461
Antigüedad: 14 años
Puntos: 24
Respuesta: Recordar Usuario y Contraseña

okey muchisimas gracias por la sugerencia amigo! y disculpa las molestias! saludos!
__________________

Blog: http://leonardonqn.blogspot.com
Twitter:@Leo_FFerreyra
  #11 (permalink)  
Antiguo 09/08/2011, 05:03
 
Fecha de Ingreso: agosto-2011
Mensajes: 1
Antigüedad: 12 años, 8 meses
Puntos: 0
Respuesta: Recordar Usuario y Contraseña

Hola, aprovechando el hilo, me gustaría plantear una duda. La solución que aportas de crear una cadena alfanumérica no me parece segura, ya que si no he entendido mal obteniendo el valor de esa cadena alfanumerica y creandose una cookie con ese valor desde otro pc se puede acceder.

Un saludo y muchas gracias!
  #12 (permalink)  
Antiguo 09/08/2011, 12:16
(Desactivado)
 
Fecha de Ingreso: agosto-2011
Mensajes: 42
Antigüedad: 12 años, 8 meses
Puntos: 9
Respuesta: Recordar Usuario y Contraseña

Una pregunta, lo de mantener al usuario logeado no se puede hacer con sesiones tambien?
  #13 (permalink)  
Antiguo 09/08/2011, 12:27
Avatar de Nemutagk
Colaborador
 
Fecha de Ingreso: marzo-2004
Ubicación: México
Mensajes: 2.633
Antigüedad: 20 años
Puntos: 406
Respuesta: Recordar Usuario y Contraseña

Cita:
Iniciado por birmox Ver Mensaje
Hola, aprovechando el hilo, me gustaría plantear una duda. La solución que aportas de crear una cadena alfanumérica no me parece segura, ya que si no he entendido mal obteniendo el valor de esa cadena alfanumerica y creandose una cookie con ese valor desde otro pc se puede acceder.

Un saludo y muchas gracias!
Claro, cualquier Sniffer podría interceptar el valor de la cookie, así como directamente tomar el usuario y contraseña al iniciar sesión...

La verdad es que no hay forma 100% segura para mantener una sesión activa y que nadie mas pueda "clonar" la sesión, cualquier modo que utilices siempre se puede "clonar" la sesión ya que es necesario dejar algún rastro en la PC del cliente para saber quien es y asignarle su sesión y datos necesarios

Cita:
Iniciado por felire Ver Mensaje
Una pregunta, lo de mantener al usuario logeado no se puede hacer con sesiones tambien?
o.O es enserio? creo que necesitas leer detalladamente el manual para el uso de sesiones
__________________
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ña, recordar, usuarios
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 22:42.