![]() |
![]() |
![]() |
![]() |
![]() |
FTP | ![]() |
![]() |
CCD | ![]() |
![]() |
Buscar | ![]() |
![]() |
Trucos | ![]() |
![]() |
Trabajo | ![]() |
![]() |
Foros | ![]() |
|
Registrarse | FAQ | Miembros | Calendario | Guía de estilo | Buscar | Temas de Hoy | Marcar Foros Como Leídos |
![]() |
|
Herramientas | Buscar en Tema | Desplegado |
|
#1
|
|||
|
|||
Truco PHP, como hacer para restablecer una contraseña con hash y un email de usuario
Para implementar una funcionalidad de restablecimiento de contraseña en PHP con SHA-256, puedes seguir estos pasos básicos. Aquí te doy una solución que genera un enlace temporal para restablecer la contraseña y lo envía al correo del usuario. El enlace tendrá un token único y una expiración que puedes ajustar.
1. Agregar un campo de token de restablecimiento y su fecha de expiración en la base de datos Tendrás que añadir dos columnas en tu tabla de usuarios para almacenar el token de restablecimiento de contraseña y su fecha de expiración:
2. Generar el token de restablecimiento de contraseña En el archivo PHP que maneje la solicitud de restablecimiento de contraseña, deberás generar un token único y guardarlo en la base de datos junto con su fecha de expiración (por ejemplo, 1 hora desde su creación). Código PHP:
Cuando el usuario haga clic en el enlace del correo, redirígelo a una página de restablecimiento de contraseña (reset_password.php), donde se verificará el token y se permitirá ingresar una nueva contraseña. Código PHP:
Este formulario aparecerá cuando el usuario acceda al enlace de restablecimiento de contraseña. Código:
<form method="POST" action=""> <label for="new_password">Nueva contraseña:</label> <input type="password" id="new_password" name="new_password" required> <button type="submit">Restablecer contraseña</button> </form> HTTPS: Asegúrate de que el enlace de restablecimiento de contraseña se envíe a través de HTTPS para proteger la información. Expiración del token: Asegúrate de que el token expire después de un tiempo razonable (como 1 hora). Invalidar el token después del uso: Una vez que el usuario ha restablecido la contraseña, el token debe ser eliminado o invalidado. Longitud del token: Utiliza tokens largos y aleatorios para reducir la posibilidad de ataques de fuerza bruta. Este flujo permite que un usuario restablezca su contraseña de manera segura, utilizando un enlace enviado a su correo electrónico y que expira después de un período determinado. Tambien daos cuenta que podriamos por ejemplo, tener un TEdgeBrowser en nuestra app C++ Builder o Delphi y tener integrado el sistema en algun Form que mostremos con las paginas del servidor php teniendo de esa forma integrado en cierta manera el sistema de restablecimiento de la contraseña desde la propia app sin tener que ir al Navegador, o incluso hacer alguna funcion que haga las comunicaciones de manera oculta simplemente utilizando (copy paste) el TOKEN en algunos controles del Form y comunicarnos con el php de forma "invisible" o bien mostrando en el TBrowser/TEdge (componente Navegador en Rad Studio) los formularios para cambiarla. O hacer todo el "deal" de MySQL con componentes de acceso a BD y que unicamente tengas que pegar el TOKEN que recibiste en tu correo y tenerlo todo cuco en un mini_Form en la app. Última edición por navbuoy fecha: 20-10-2024 a las 01:44:23. |
![]() |
Herramientas | Buscar en Tema |
Desplegado | |
|
|
![]() |
||||
Tema | Autor | Foro | Respuestas | Último mensaje |
Alguna libreria para gestión de usuario y contraseña | David | PHP | 0 | 01-04-2010 11:49:04 |
Hacer un post con usuario y contraseña | gulder | Varios | 5 | 12-09-2008 19:08:21 |
Como hacer que mi aplicación acceda a la red sin que pida la contraseña al usuario | Nbull | Redes | 8 | 02-02-2007 16:49:38 |
como puedo hacer para enviar un quick report por email?? | merlin | Internet | 1 | 14-12-2003 20:24:17 |
como puedo hacer para enviar un quick report por email?? | merlin | Impresión | 4 | 05-12-2003 18:06:58 |
![]() |
|