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
@escapeNotVerified
ou@noEscape
para passar nos testes, o último significa que esse uso específico foi verificado e é seguro.Nas versões futuras, todas as ocorrências de
@escapeNotVerified
serão verificadas e marcadas com@noEscape
ou 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::escapeQuote
Observe 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 escapadofonte
Eu 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.Leia o Magento Docs em 2.0 ou 2.1
fonte