Comunidad de diseño web y desarrollo en internet online

Recuperar CONTRASEÑA de USUARIO y enviar por CORREO

Citar            
MensajeEscrito el 07 Jul 2009 02:44 am
Hola de nuevo, por aqui con algunas dudas.
Alguien sabra de algun sistema con el cual se pueda recuperar la contraseña de usuario segun su correo electronico y enviar la informacion de la contraseña a su correo electronico?

Por chaku

11 de clabLevel



 

firefox
Citar            
MensajeEscrito el 07 Jul 2009 02:54 am
para eso tienes 3 opciones :

1. tener 2 campos en la base de datos uno con el password encriptado y el otro con el pass sin encriptar

2. resetiar el pass y que coloquen uno nuevo

3. Generar un pass aleatorio para que el usuario despues actualize este mismo

saludos

Por talcual

686 de clabLevel



 

Colombia

firefox
Citar            
MensajeEscrito el 07 Jul 2009 03:10 am
Solo tengo dos campos para manejar eso, que es la contraseña y el usuario, aunque tambien tengo el ID, nombre, apellidos, bla bla bla. pero no tengo ninguna contraseña encriptada, me supongo que es para que sea mas segura, pero como se hace y como se usa? Porque me gustaria poder tener un sistema seguro y que me funcione totalmente automatico.

Por chaku

11 de clabLevel



 

safari
Citar            
MensajeEscrito el 07 Jul 2009 12:36 pm
Sí, deberías encriptar las contraseñas. Cuando vas a guardar la contraseña, la metes antes en la función MD5 de mysql. Y para comprobar si la contraseña es correcta, usa md5(contraseña_introducida) == registro_base_de_datos.
La mejor forma de recuperar la cuenta, es como decía talcual, generar un pass aleatorio. PHP tiene funciones para eso.

Saludos.

Por Zah

BOFH

4290 de clabLevel

27 tutoriales
5 articulos

  Bastard Operators From Hell Editores

Zaragoza, España

firefox
Citar            
MensajeEscrito el 07 Jul 2009 03:10 pm
Ok, voy a investigar el caso y les informo como quedo, GRACIAS.

Por chaku

11 de clabLevel



 

safari
Citar            
MensajeEscrito el 10 Jul 2009 11:40 pm
pero haz la clasica pregunta y respuesta secreta
si le atina que le llegue un correo donde halla una página que lo lleve a un formulario para crear una nueva contraseña.
Espero que te sirva mi lógica, algo pobre pero efectiva ;)

Por sebas_burgos

15 de clabLevel



Genero:Masculino  

Desarrollador en Papaya.pe

firefox
Citar            
MensajeEscrito el 10 Jul 2009 11:50 pm

sebas_burgos escribió:

pero haz la clasica pregunta y respuesta secreta
si le atina que le llegue un correo donde halla una página que lo lleve a un formulario para crear una nueva contraseña.
Espero que te sirva mi lógica, algo pobre pero efectiva ;)


Esa es una gran manera de hacer que las contraseñas sean robadas. Las preguntas secretas nunca son tan secretas como uno cree.

Por Zah

BOFH

4290 de clabLevel

27 tutoriales
5 articulos

  Bastard Operators From Hell Editores

Zaragoza, España

firefox
Citar            
MensajeEscrito el 11 Jul 2009 04:55 am
sip es inseguro lo mejor es o tener 2 contraseñas y cuando quieras recuperarlas enviar la contraseña que no esta encriptada o la generear un pass para que luego el user la cambie

hay te dejo el codigo


http://www.codigolandia.com/art-Passwords+Aleatorios+Con+PHP-php-4.tc

Por talcual

686 de clabLevel



 

Colombia

firefox
Citar            
MensajeEscrito el 11 Jul 2009 11:11 am
Buenas, a mi siempre me ha gustado más la opción de que si no recuerdas la contraseña, email con la contraseña (nueva o la misma) a la dirección que te dejó

Por Anothnio

6 de clabLevel



 

firefox
Citar            
MensajeEscrito el 13 Jul 2009 01:58 pm
Buenas!! gracias por sus comentarios al respecto, yo habia pensado en un sistema como ustedes lo indica, algo asi de preguntar los datos y enviar un link al correo para validar y despues que regresen a certificar y guardar los datos pero no, el cliente quiere algo mas "sencillo" y que no me parece tan seguro. Lo que se requiere hacer es lo siguiente:
1.- pedir los datos generales como nombre de usuario
2.- Codigo
3.- Fecha de cumpleaños
4.- Correo electronico
5.- Si desea recuperar su contraseña o cambiarla (con un radio button)
6.- Si desea recuperarla al darle enviar se enviara la contraseña segun los datos recogidos o si desea cambiarla digitar la contraseña anterior y cambiarla por una nueva.

Relativamente es seguro porque el ID (codigos) no es autoincrement, todos los ID (codigos) son generados manualmente y bastante diferentes.

ahora mi pregunta es: como puedo hacer esto? yo tenia pensado algo asi:

Código PHP :

<?php
include("conexion con la BD.php");

if(isset($_POST['nick'])){ //nick en este caso es mi nombre de usuario
$nick=$_POST['nick'];
$id=$_POST['ID']; //codigo
$nacimiento=$_POST['nacimiento'];
$correo=$_POST['correo'];
$contrasenavieja=$_POST['contrasenavieja'];
$contrasenanueva=$_POST['contrasenanueva'];

$datos=mysql_query("SELECT * FROM clientes,mascotas WHERE nick = '$nick', ID='$ID'")or die (mysql_error());
$renglon=mysql_fetch_object($datos);
$sql = "UPDATE clientes SET contasenanueva='$contrasena'";
   $result = mysql_query($sql); 
}
?>


y dentro del mismo PHP algo asi como esto:

Código PHP :

<table width="724" align="center" cellpadding="0" cellspacing="10">
              <tr>
                <th width="336" align="left" valign="top" scope="col"><span class="titulos">* Nombre de Usuario:</span></th>
                <th width="356" align="left" scope="col"><span class="textos">
                  <input nombre="contrasena" type="text" class="box" id="contrasena" size="50" value="<?=$nick;?>" />
                </span></th>
              </tr>
              <tr>
                <td align="left" valign="top"><span class="titulos"><span class="textos">* C&oacute;digo:</span></span></td>
                <td align="left"><span class="textos">
                  <input nombre="nombre" type="text" class="box" id="nombre" size="50" value="<?=$id;?>" />
                </span></td>
              </tr>
              <tr>
                <td align="left" valign="top" class="titulos"><span class="textos">* Tu Fecha de Cumplea&ntilde;os:</span></td>
                <td align="left"><span class="textos">
                  <input nombre="nacimiento" type="text" class="box" id="nacimiento" size="50" value="<?=$nacimiento;?>" />
                </span></td>
              </tr>
              <tr>
                <td align="left" valign="top" class="titulos"><span class="textos">* Tu Correo Electr&oacute;nico:</span></td>
                <td align="left"><span class="textos">
                  <input nombre="correo" type="text" class="box" id="correo" size="50" value="<?=$correo;?>" />
                </span></td>
              </tr>
              <tr>
                <td class="titulos">&nbsp;</td>
                <td align="left">&nbsp;</td>
              </tr>
              <tr>
                <td valign="top" class="titulos"><label>
                  <input type="radio" nombre="recuperar" id="recuperar" value="<?=$modificar;?>">
                  Recuperar Contrase&ntilde;a</label></td>
                <td align="left"><label class="titulos">
                  <input type="radio" nombre="cambiar" id="cambiar" value="<?=$cambiar;?>">
                  Cambiar Contrase&ntilde;a</label></td>
              </tr>
              <tr>
                <td class="titulos">&nbsp;</td>
                <td align="left"><span class="titulos"><span class="textos">* Actual contrase&ntilde;a</span></span></td>
              </tr>
              <tr>
                <td valign="top" class="titulos">&nbsp;</td>
                <td align="left"><span class="textos">
                  <input nombre="actual" type="text" class="box" id="actual" size="50" value="<?=$contrasenavieja;?>" />
                </span></td>
              </tr>
              <tr>
                <td>&nbsp;</td>
                <td align="left"><span class="titulos"><span class="textos">* Nueva contrase&ntilde;a</span></span></td>
              </tr>
              <tr>
                <td>&nbsp;</td>
                <td align="left"><span class="textos">
                  <input nombre="nueva" type="text" class="box" id="nueva" size="50" value="<?=$contrasenanueva;?>" />
                </span></td>
              </tr>
              <tr>
                <td>&nbsp;</td>
                <td align="center"><label><span class="titulos">* Control spam: </span></label>
                  <span class="textos">
                  <label><b>2 + 3=</b></label>
                  <input nombre="spamcheck" type="text" class="box" id="spamcheck" size="4" value="<?=$spamcheck;?>" />
                  </span></td>
              </tr>
            </table>
            <br />
            <!-- Submit Button-->
            <input nombre="send" type="submit" class="button" id="send" value="ENVIAR" />
          </form>
          <!-- Verificacion de E-mail -->
          <?php
            }

            function isEmail($correo)
            {
                return(preg_match("/^[-_.[:alnum:]]+@((([[:alnum:]]|[[:alnum:]][[:alnum:]-]*[[:alnum:]])\.)+(ad|ae|aero|af|ag|ai|al|am|an|ao|aq|ar|arpa|as|at|au|aw|az|ba|bb|bd|be|bf|bg|bh|bi|biz|bj|bm|bn|bo|br|bs|bt|bv|bw|by|bz|ca|cc|cd|cf|cg|ch|ci|ck|cl|cm|cn|co|com|coop|cr|cs|cu|cv|cx|cy|cz|de|dj|dk|dm|do|dz|ec|edu|ee|eg|eh|er|es|et|eu|fi|fj|fk|fm|fo|fr|ga|gb|gd|ge|gf|gh|gi|gl|gm|gn|gov|gp|gq|gr|gs|gt|gu|gw|gy|hk|hm|hn|hr|ht|hu|id|ie|il|in|info|int|io|iq|ir|is|it|jm|jo|jp|ke|kg|kh|ki|km|kn|kp|kr|kw|ky|kz|la|lb|lc|li|lk|lr|ls|lt|lu|lv|ly|ma|mc|md|mg|mh|mil|mk|ml|mm|mn|mo|mp|mq|mr|ms|mt|mu|museum|mv|mw|mx|my|mz|na|nombre|nc|ne|net|nf|ng|ni|nl|no|np|nr|nt|nu|nz|om|org|pa|pe|pf|pg|ph|pk|pl|pm|pn|pr|pro|ps|pt|pw|py|qa|re|ro|ru|rw|sa|sb|sc|sd|se|sg|sh|si|sj|sk|sl|sm|sn|so|sr|st|su|sv|sy|sz|tc|td|tf|tg|th|tj|tk|tm|tn|to|tp|tr|tt|tv|tw|tz|ua|ug|uk|um|us|uy|uz|va|vc|ve|vg|vi|vn|vu|wf|ws|ye|yt|yu|za|zm|zw)$|(([0-9][0-9]?|[0-1][0-9][0-9]|[2][0-4][0-9]|[2][5][0-5])\.){3}([0-9][0-9]?|[0-1][0-9][0-9]|[2][0-4][0-9]|[2][5][0-5]))$/i"
                        ,$correo));
            }
            ?>

Obviamente todavia no se como realizarlo bien, Alguien tiene alguna idea?
Como pueden ver no soy muy experto en esto de PHP.

Por chaku

11 de clabLevel



 

safari
Citar            
MensajeEscrito el 20 Jul 2009 10:46 pm
Alguien sabra una forma de poder enviarla por correo? es decir, que el usuario introduzca algunos datos personales que se han registrado con anterioridad como nombre de usuario, correo, fecha de nacimiento, id y contraseña (en el caso que el usuario solo quiera cambiar la resiente contraseña).

Tengo la idea pero no se como emplearla o como funcione, tengo la idea de que tendria que checar los datos que el cliente introduzca u si se cumplen envie el correo con la contraseña.
En el otro caso que si los datos del usuario son correctos asi como la contraseña actual, haga un UPDATE de la nueva contraseña y esta misma la envie por correo electronico, pero no tengo ni idea de como lograrlo :S
Alguien me podria ayudar?
GRACIAS...

Por chaku

11 de clabLevel



 

safari

 

Cristalab BabyBlue v4 + V4 © 2011 Cristalab
Powered by ClabEngines v4, HTML5, love and ponies.