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$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$codigo_generado = ""; //campo de la base de datos
$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 originalecho "No existe variable, acceso denegado";
}
//SI EXISTE ENTONCES:
$codigo_guardado = ""; //traido desde la DB de nuevo
if($_GET['c'] == $codigo_guardado){
//muestras contenido
}else{
echo "No coinciden los elementos para reinicio de contraseña":
}
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