Eu vejo muitas ocorrências desse comentário /* @escapeNotVerified */nos arquivos de modelo do Magento2.
Tem algum significado especial?
Existe alguma utilidade para isso?
Exemplos:
Eu vejo muitas ocorrências desse comentário /* @escapeNotVerified */nos arquivos de modelo do Magento2.
Tem algum significado especial?
Existe alguma utilidade para isso?
Exemplos:
Respostas:
Essa tag é usada por testes estáticos. Qualquer saída potencialmente insegura deve ser marcada com @escapeNotVerifiedou @noEscapepara passar nos testes, o último significa que esse uso específico foi verificado e é seguro.
Nas versões futuras, todas as ocorrências de @escapeNotVerifiedserão verificadas e marcadas com @noEscapeou escapadas por um destes 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::escapeQuoteObserve também que algumas saídas são consideradas seguras e não devem ser marcadas com essas anotações:
getTitleHtml, também devem gerar HTML escapadoEu o encontro nos devdocs do Magento2
Teste estático
Para melhorar a segurança contra injeções de XSS, um teste estático XssPhtmlTemplateTest.phpé adicionado ao dev \ tests \ static \ testsuite \ Magento \ Test \ Php.
Este teste estático encontra todas as chamadas de eco nos modelos PHTML e determina se é ou não escapado adequadamente.
Abrange os seguintes casos:
/* @noEscape */antes da saída. A saída não requer escape. O teste é verde.
/* @escapeNotVerified */antes da saída. O escape de saída não está marcado e deve ser verificado. O teste é verde.