Fixed
- Weak password bypass via password reset —
AuthController::resetPassword()only checked thatnew_passwordmatchedconfirm_password, never enforcing the 8-character minimum already required byProfileController::changePassword()andUserController::validateUser(). A valid reset token could be used to set an empty or trivially short password. Now enforcesstrlen($newPassword) >= 8before callingAuth::consumeResetToken().
Changed
CLAUDE.md— removed two Notes bullets duplicating facts already covered in the Key Files table and Security Patterns section (session_start_secure()usage,AuthMiddleware::session()wiring); documented the resetPassword fix aboveREADME.md— restructured for a public-facing audience:- Added Table of Contents and a Screenshots section (title + description + image per feature, no tables)
Featuresreorganized into three grouped categories instead of a 25-bullet list that duplicated theSecuritysection's implementation detail; cross-linked toSecurityfor specificsInstallationno longer pastes the full.envcontents — points to.env.exampleinsteadProject Structurereduced from a fully-annotated recursive tree to a 2-level overview, with a pointer toCLAUDE.mdfor the file-by-file breakdown- Fixed a stale/vague comment in the
Testingsetup instructions referencing a non-existent ".env.testingsection in docs"
Full Changelog
https://github.com/Jandres25/Encriptacion_PHP/blob/master/CHANGELOG.md