Seguridad · Pregunta 8 de 12
Un visitante introduce <script>alert(1)</script> como nombre, y la plantilla Fluid lo muestra con {name}. ¿Qué ocurre?
1 respuesta es correcta. Fácil
Mostrar solución
Solución
- C El texto aparece visible en la página, porque Fluid escapa los signos de menor y mayor
Explicación
Fluid escapa automáticamente las variables como {name} con htmlspecialchars() al mostrarlas: <script> se convierte en <script>, y el navegador muestra los caracteres como texto en lugar de interpretarlos como HTML. Este escape automático es la protección más importante contra el cross-site scripting (XSS) en las plantillas de TYPO3. Deja de aplicarse si se muestra el valor con <f:format.raw> o {name -> f:format.raw()}, algo que nunca se debe hacer con la entrada del usuario. Fluid no borra el contenido ni lanza un error; el valor se conserva, solo que se vuelve inofensivo.