Tipico "Olvide mi contraseña"

657 views
Skip to first unread message

Guillimon

unread,
Mar 13, 2012, 10:09:51 AM3/13/12
to symfony-es
Hola.

Sabe alguien si en symfony2 hay alguna forma para que un usuario pueda
recuperar su password.

- Decodificando el passwod (y una vez sea texto plano mandarselo a su
mail)
- Mandar un mail con un link para que pueda poner una nueva.

Gracias

Absalón Valdés Ormeño

unread,
Mar 13, 2012, 12:36:59 PM3/13/12
to symfo...@googlegroups.com
En FOSUSerBundle hay todo lo necesario para la recuperación de la contraseña, pero eso que pides de "decodificar" el password es imposible e inseguro. Imposible porque los passwords no son encriptados, sino hasheados, y las funciones hash son irreversibles, o sea, no puedes tener el texto hash y de ahi recuperar el texto plano. Esto es una medida de seguridad basica en todo tipo de almacenamiento de passwords. El resto del trabajo, eso de enviar un link y proceder al "reset" del password como ya te dije lo hace FOSUserBundle.

saludos
Absalón Valdés


--
Has recibido este mensaje porque estás suscrito al grupo "symfony-es" de Google Groups.
Para publicar en este grupo, envía un email a symfo...@googlegroups.com
Para darte de baja, envía un email a symfony-es+...@googlegroups.com
El resto de opciones puedes encontrarlas en http://groups.google.com/group/symfony-es?hl=es

Guillimon

unread,
Mar 13, 2012, 3:38:36 PM3/13/12
to symfony-es
Gracias!

On 13 mar, 17:36, Absalón Valdés Ormeño <absal...@gmail.com> wrote:
> En FOSUSerBundle hay todo lo necesario para la recuperación de la
> contraseña, pero eso que pides de "decodificar" el password es imposible e
> inseguro. Imposible porque los passwords no son encriptados, sino
> hasheados, y las funciones hash son irreversibles, o sea, no puedes tener
> el texto hash y de ahi recuperar el texto plano. Esto es una medida de
> seguridad basica en todo tipo de almacenamiento de passwords. El resto del
> trabajo, eso de enviar un link y proceder al "reset" del password como ya
> te dije lo hace FOSUserBundle.
>
> saludos
> Absalón Valdés
>

Guillimon

unread,
Mar 14, 2012, 5:07:41 AM3/14/12
to symfony-es
Entonces, los usuario que tengo dados ya de alta ¿pierden la
contraseña?

Xavi Montero

unread,
Mar 14, 2012, 6:26:11 AM3/14/12
to symfo...@googlegroups.com
El 14/03/2012 10:07, Guillimon escribi�:

> Entonces, los usuario que tengo dados ya de alta �pierden la
> contrase�a?

S�, claro... si no la saben, s�.

Mauricio Loyola Tirado

unread,
Mar 14, 2012, 12:43:29 PM3/14/12
to symfo...@googlegroups.com
Yo he tenido el mismo inconveniente, pero pienso solucionarlo de la
siguiente forma, espero que te ayude en algo:

1.-La opción de "¿Olvido su contraseña?", llevara a un formulario que solo
solicitara el ingreso del "Email", este campo debe de existir en la tabla de
usuario y además ser único.
2.-Si luego de verificar que el email existe, hay que volver a generar un
nueva contraseña, que lo pienso hacer de forma aleatorio y luego encriptarlo
y guardarlo en la DB.
3.-Enviar esta nueva contraseña al email ingresado por el usuario.
4.- Si el usuario desea cambiar esta contraseña, lo podrá hacer en su perfil
de usuario.

Recién la próxima semana voy a entrar en este proceso, estaré pendiente para
compartir experiencias.

Saludos

Mauricio

-----Mensaje original-----
De: symfo...@googlegroups.com [mailto:symfo...@googlegroups.com] En
nombre de Xavi Montero
Enviado el: Miércoles, 14 de Marzo de 2012 5:26 a.m.
Para: symfo...@googlegroups.com
Asunto: Re: [symfony-es] Re: Tipico "Olvide mi contraseña"

El 14/03/2012 10:07, Guillimon escribió:
> Entonces, los usuario que tengo dados ya de alta ¿pierden la

> contraseña?

Sí, claro... si no la saben, sí.

Jesús Ruiz García

unread,
Mar 14, 2012, 12:55:54 PM3/14/12
to symfo...@googlegroups.com
Hola, como bien te han comentado ya, una contraseña introducida por un usuario y cifrada en md5, no tiene reconversión a antes de dicho cifrado. Aunque es cierto que hay herramientas, que permiten descifrar contraseñas tratadas con md5, pero suelen ser para contraseñas sencillas, tipo "12345", "admin" y casos similares.

Así pues, la solución es la que ya te han dado, cuando el usuario registrado haga clic en "Recuperar Contraseña", tienes que mostrarle un nuevo formulario donde pueda introducir su correo electrónico con el que se registró (por poner un ejemplo). En ese correo electrónico tienes que enviarle su nueva contraseña creada aleatoriamente por el código de alguna función que tendrás que construir.

Si el usuario quiere cambiar esa nueva contraseña que le has enviado, lo que tendrías que crear es otro nuevo formulario, donde le pidas su contraseña actual (puedes pedir algún dato más para asegurarte que es ese usuario, aunque si está logueado no tendría mucho sentido dar mayor seguridad en este aspecto).
Si la contraseña introducida por el usuario, es igual a la actual, le aceptas su cambio de contraseña por la que el quiera.

Un saludo y suerte.
Reply all
Reply to author
Forward
0 new messages