Veo muchas ocurrencias de este comentario /* @escapeNotVerified */
en los archivos de plantilla para Magento2.
¿Tiene un significado especial?
¿Hay algún uso para esto?
Ejemplos:
Veo muchas ocurrencias de este comentario /* @escapeNotVerified */
en los archivos de plantilla para Magento2.
¿Tiene un significado especial?
¿Hay algún uso para esto?
Ejemplos:
Respuestas:
Esta etiqueta es utilizada por pruebas estáticas. Cualquier salida potencialmente insegura debe marcarse con @escapeNotVerified
o @noEscape
para aprobar las pruebas, esto último significa que este uso en particular se ha verificado y es seguro.
En futuras versiones, todas las ocurrencias de @escapeNotVerified
serán verificadas y marcadas @noEscape
o escapadas con uno de estos métodos:
\Magento\Framework\View\Element\AbstractBlock::escapeHtml
\Magento\Framework\View\Element\AbstractBlock::escapeUrl
\Magento\Framework\View\Element\AbstractBlock::escapeXssInUrl
\Magento\Framework\View\Element\AbstractBlock::escapeQuote
También tenga en cuenta que algunos resultados se consideran seguros y no deben marcarse con tales anotaciones:
getTitleHtml
También se espera que las llamadas a métodos que contienen 'html' en sus nombres, como salida, generen HTMLLo encuentro en devdocs de Magento2
Prueba estática
Para mejorar la seguridad contra las inyecciones de XSS, XssPhtmlTemplateTest.php
se agrega una prueba estática a dev \ tests \ static \ testsuite \ Magento \ Test \ Php.
Esta prueba estática encuentra todas las llamadas de eco en plantillas PHTML y determina si se ha escapado correctamente o no.
Cubre los siguientes casos:
/* @noEscape */
antes de la salida. La salida no requiere escapar. La prueba es verde.
/* @escapeNotVerified */
antes de la salida. El escape de salida no está marcado y debe verificarse. La prueba es verde.