Skip to content

v1.8.0

Choose a tag to compare

@Jandres25 Jandres25 released this 11 Jun 19:02
· 14 commits to master since this release

Security

  • HTTP Security HeadersX-Frame-Options: DENY, X-Content-Type-Options: nosniff, Referrer-Policy, X-XSS-Protection, Permissions-Policy y Content-Security-Policy en public/.htaccess via mod_headers; HSTS comentado listo para HTTPS
  • Eliminación de dependencias externas — jQuery y Google Fonts cargaban desde CDN externo sin SRI en las vistas de auth; reemplazados por assets self-hosted — elimina vector de supply-chain y fuga de token de reset via cabecera Referer
  • Cookie de sesión segura — helper session_start_secure() centralizado en autoload.php aplica httponly, samesite=Strict y secure condicional en todos los puntos donde se inicia sesión
  • Logout cambiado de GET a POST con CSRF — ruta /logout ahora solo acepta POST con token CSRF verificado; elimina logout CSRF via <img> o link
  • Eliminación de user enumeration en forgot-password — respuesta genérica siempre, independientemente de si el email existe
  • Rotación de token CSRF — token invalidado tras cada verificación exitosa, forzando regeneración en el siguiente request
  • Protección contra auto-eliminación y auto-degradación de admin — guards en UserController::delete() y edit()
  • Error de conexión DB no expone detalles internoserror_log() + vista de error 500 en lugar del mensaje crudo de MySQLi

Added

  • Páginas de error personalizadas — vistas standalone en views/errors/: 404.php, 403.php, 500.php con el gradiente y paleta del proyecto; sin dependencia de la app ni de la DB
  • AuthMiddleware::admin() devuelve HTTP 403 con página de error en lugar de redirigir al home
  • Router::dispatch() renderiza la vista 404 en lugar de imprimir el path interno

Fixed

  • Alineación del botón Logout en la navbar — clase CSS .btn-logout-nav en lugar de inline styles
  • storage/.htaccess con Require all denied para proteger archivos de caché

Full Changelog

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