Marcofbb Noticias y Artículos Webmasters



Publicidad marcored

Recordar contraseña PHP

  • 16/03/2011
  • 11:15 pm
  • marcofbb

Muchos me preguntaron ¿Como hago para que los usuarios no se tengan que loguear de nuevo?, yo simplemente le respondí que se puede hacer con Cookies y me pidieron que les haga un ejemplo y acá se los voy a hacer.

Recordar contraseña PHP, Session y Cookies

Tomé como pie el script "Sistema de usuarios PHP y MySQL", ahí van a poder descargar todo completo pero sin sistema de recordar contraseña, lo ideal seria que se lo implementen para ir practicando un poco.

Funcionamiento

El script tiene un funcionamiento bastante básico, si nosotros al iniciar sesión marcamos la casilla "Recordar", al comprobar que la contraseña y el usuario son correctas, se crea una cookie con tu nombre de usuario, un hash aleatorio y tu ip. Ese hash que se creo aleatoria-mente se almacena en nuestra Base de Datos en el campo id_extreme

40
41
42
$id_extreme = md5(uniqid(rand(), true));
$id_extreme2 = $username2."%".$id_extreme."%".$ip;
setcookie('id_extreme', $id_extreme2, time()+7776000,'/');

Y después cada vez que entremos en la página verifica si hay una cookie llamada id_extreme, si lo hay separa los parámetros de la cookie con un explode, y después compara tu ip con la de la cookie, para darle mas seguridad al script, y por ultimo te loguea automáticamente y te crea las misma sesiones como si te hubieras logueado de forma manual.

Descargar

Share

¿Necesitas ayuda? o ¿Asesoramiento webmaster? Registrate en nuestro foro de consultas

Posts Relacionados

Total de Comentarios: 10

Avatar
shuji
26/04/2011
12:57 am

Un md5 no lo puede otra persona desecriptar de la misma forma en que tu la desencriptas?

Avatar
26/04/2011
10:45 am

No, no se puede desencriptar de la misma forma.

Hay formas con fuerza bruta para hacerlo pero tarda como 2 años en hacerlo que seria probar letra por letra, numero por numero, todo junto, ect

Para mas seguridad podes hacer md5(md5('Aca pass'));

Un doble cifrado, pero ya con uno alcanza

Avatar
14/06/2011
6:27 am

Dos cositas.

1: Si estas usando sesiones, ¿para que usas una cookie para recordar el usuario?, revisa eso, se puede hacer todo con sesiones.

2:

"Para mas seguridad podes hacer md5(md5(‘Aca pass’));"

Eso no da mucha mas seguridad. MD5 tiene colisiones; es decir, que con dos semillas diferentes se puede obtener el mismo hash.

De los mas conocidos CRC es el hash con mas colisiones, le sigue MD5, y en SHA1 es casi improbable.

Recomiendo usar el hash SHA1 que tambien viene en php.

Avatar
14/06/2011
12:41 pm

Gracias SERBice, si había leído sobre las colisiones de MD5.

Uso Cookie para recordar el hash y no ampliar la duración de la session.

Igual en los próximos script voy a hacer como vos decís, me parece mas fácil y mas seguro, corregidme si me equivoco.

Saludos y Gracias

Avatar
08/12/2011
1:27 pm

Hola Marco, esta excelente tu script deberas que me ha servido de mucho, pero tengo un problema al cerrar sesion, podrías explicarme como se cierra la sesión y se destruye el cookie...

saludos

Avatar
eddie
18/01/2013
1:19 pm

Hola marco, excelente el script que desarrollaste, tengo una pregunta como hago para dar permisos de : administrador, moderador, usuario para cada pagina y queme muestre sus datos al ingresar, gracias

Avatar
24/01/2013
7:41 pm

Muy buen exelente informacion de todo esto

Avatar
Zucy Gohan
29/04/2013
5:05 pm

Estoy creando una aplicación que tenga un interface de administrador donde entre mediante una contraseña pero quiero que el vaya a manejar el sistema pueda cambiar la contraseña como se hace con los usuarios de windows podés ayudarme.gracias.

Avatar
13/07/2014
10:54 pm

si estuvo buena tu información, se te agradece


Enviar Comentario

(*)

(*)