Skip to main content
El motor de generación de reportes procesa datos introducidos dinámicamente. Para proteger la integridad de la infraestructura y aislar el renderizado, se implementaron controles estrictos tanto en la capa del controlador como en las vistas.

🛑 Mitigación de Denegación de Servicio (DoS)

La generación de archivos PDF requiere construir un modelo de objetos del documento (DOM) en la memoria RAM del servidor web antes del renderizado final mediante Dompdf. Un ataque que envíe cientos de miles de registros de forma intencional podría agotar la memoria del contenedor. Para evitar este escenario, se implementó una regla de validación de volumen dinámico:

💉 Prevención de Inyección HTML y SSRF

Existe un riesgo inherente al renderizar PDFs a partir de datos externos: si el campo detalle de una transacción contiene etiquetas HTML maliciosas (como <script>, <iframe> o <link>), el motor podría intentar interpretarlas, derivando en Inyección HTML o Server-Side Request Forgery (SSRF). La arquitectura neutraliza esta amenaza delegando la sanitización a la sintaxis nativa de Laravel Blade:
Al utilizar la sintaxis de doble llave , el framework pasa automáticamente la cadena por la función nativa htmlspecialchars() de PHP antes de inyectarla en el DOM. Esto convierte cualquier carácter especial en entidades inofensivas (ej. < se convierte en <), asegurando que el contenido se interprete estrictamente como texto plano y nunca como marcado ejecutable.