Ver Mensaje Individual
  #2 (permalink)  
Antiguo 04/09/2017, 08:05
Avatar de petit89
petit89
 
Fecha de Ingreso: marzo-2011
Mensajes: 1.135
Antigüedad: 13 años, 2 meses
Puntos: 170
Respuesta: Montar sistema para reestablecer contraseña

Claro, mandando un codigo de restablecimiento unico que puede ser el mismo usuario encriptado con alguna letra o numero de mas.. ejemplo

Al momento que pida restablecer la contraseña, genera un codigo que se almacenará en la base de datos, tendras que crear un campo para esto, o una tabla nueva donde guardes el ID del usuario con el codigo de restablecimiento.. como gustes.

Código PHP:
Ver original
  1. $codigo = md5['usuario']; //esto lo guardas a la base de datos

mas o menos para generar el enlace enviado será asi:
Código PHP:
Ver original
  1. $codigo_generado = ""; //campo de la base de datos
  2. $enlace = "http://tuweb.com/reset.php?c=".$codigo_generado;

donde la variable C lleva el codigo, entonces ya tienes enviado el enlace con el codigo, cuando visite la web deberas hacer la comprobación en el inicio del documento para habilitar el acceso o no a la pagina.

Código PHP:
Ver original
  1. if(!isset($_GET['c']) && empty($_GET['c'])){
  2. echo "No existe variable, acceso denegado";
  3. exit();
  4. }
  5. //SI EXISTE ENTONCES:
  6. $codigo_guardado = ""; //traido desde la DB de nuevo
  7. if($_GET['c'] == $codigo_guardado){
  8. //muestras contenido
  9. }else{
  10. echo "No coinciden los elementos para reinicio de contraseña":
  11. exit();
  12. }

para este ejemplo ocupe el mismo usuario codificado en md5() si crees que es muy vulnerable puedes ocupar numeros, la fecha actual, etc... y haciendo nota que si ocupas md5() tu campo en la base de datos debe tener al menos 64 caracteres de espacio, ya que esto genera la funcion
__________________
█ WebHosting / Reseller a bajo costo | Uptime Garantizado | Soporte en Español e Ingles
¿Te sirvió la respuesta? Deja un +1 (Triangulo negro al lado derecho)