Skip to content

Documento unificado #3

@bdsyndicate-9791

Description

@bdsyndicate-9791

AAEG v1.2 – Río Magdalena
Listado Unificado de Mejoras (basado en el core actual)
Autor: Benjamín Sánchez Cárdenas
Fecha: Octubre 2025

──────────────────────────────────────────────
Alta prioridad / Baja complejidad
──────────────────────────────────────────────

  • Validar existencia de $_POST['endpoint'] antes de sanitizar
    Motivo: Evita errores en entornos con strict_types o configuraciones estrictas de PHP.

  • Unificar validación de nombre de endpoint
    Motivo: La expresión regular /^[a-zA-Z0-9_-]+$/ podría extraerse como constante o método privado reutilizable.

  • Añadir verificación de tipo callable en $handler
    Motivo: register() no valida si $handler es un callable válido. Esto puede causar errores en tiempo de ejecución.

──────────────────────────────────────────────
Alta prioridad / Media complejidad
──────────────────────────────────────────────

  • Implementar caché de IP en get_client_ip()
    Motivo: El método se ejecuta múltiples veces por solicitud. Guardar el resultado en una propiedad estática evitaría redundancia.

  • Modularizar process_request()
    Motivo: Actualmente contiene validación, autorización, sanitización y ejecución en un solo bloque. Separar en métodos como validate_nonce(), authorize_user(), resolve_handler() mejoraría legibilidad y testabilidad.

──────────────────────────────────────────────
Media prioridad / Baja complejidad
──────────────────────────────────────────────

  • Añadir soporte para GET en modo test
    Motivo: Actualmente solo se evalúa $_POST. Permitir $_GET en test_mode facilitaría pruebas sin JavaScript.

  • Documentar schema con tipos aceptados
    Motivo: Aunque se soportan tipos como int, bool, email, array, string, no hay documentación formal ni validación de tipos no reconocidos.

  • Fallback si AAEG_ACCESS_LOG o AAEG_ERROR_LOG no están definidos
    Motivo: Actualmente el log simplemente no ocurre. Un fallback a error_log() estándar permitiría trazabilidad mínima.

──────────────────────────────────────────────
Media prioridad / Alta complejidad
──────────────────────────────────────────────

  • Soporte para múltiples handlers por endpoint
    Motivo: Permitir múltiples callbacks por endpoint (por ejemplo, para logging, validación extendida o transformación) aumentaría flexibilidad.

  • Persistencia opcional de logs en base de datos
    Motivo: Actualmente los logs se escriben en archivos. Ofrecer una capa opcional para almacenar en tabla personalizada permitiría auditoría estructurada.

──────────────────────────────────────────────
Baja prioridad / Media complejidad
──────────────────────────────────────────────

  • Soporte para application/json como entrada
    Motivo: Actualmente solo se procesan $_POST. Leer php://input y parsear JSON permitiría integración con clientes modernos.

  • Generar automáticamente el nonce desde register()
    Motivo: Podría ofrecerse un helper para generar el nonce esperado por cada endpoint registrado.

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions