Skip to content

v1.9.0

Choose a tag to compare

@jandrescodes jandrescodes released this 15 Jun 00:09

Added

  • Perfil de usuario — nueva sección /profile accesible para cualquier usuario autenticado (sin requisito de admin):
    • Vista unificada views/profile/index.php con dos formularios independientes, cada uno con su propio token CSRF
    • Form 1 (POST /profile): edita first_name, last_name, email, username; valida unicidad excluyendo el propio ID; actualiza $_SESSION['name'] si cambia el nombre
    • Form 2 (POST /profile/password): requiere contraseña actual con password_verify(); valida coincidencia y mínimo 8 caracteres
    • User::updateProfile() — UPDATE limitado a info básica; sin acceso a password ni is_admin (previene escalada de privilegios vía IDOR)
    • User::getPasswordById() — SELECT solo del hash para verificar la contraseña actual
    • User::updatePasswordProfile() — UPDATE de contraseña por id, independiente de updatePassword() que sigue siendo exclusivo del flujo de reset por email
    • Nombre de usuario en el nav convertido en enlace a /profile (visible para todos los usuarios autenticados)
    • Ambas operaciones invalidan la caché users.all

Full Changelog

https://github.com/Jandres25/Encriptacion_PHP/blob/master/CHANGELOG.md