Я вижу много случаев этого комментария /* @escapeNotVerified */
в файлах шаблонов для Magento2.
Имеет ли это особое значение?
Есть ли польза для этого?
Примеры:
Я вижу много случаев этого комментария /* @escapeNotVerified */
в файлах шаблонов для Magento2.
Имеет ли это особое значение?
Есть ли польза для этого?
Примеры:
Ответы:
Этот тег используется статическими тестами. Любые потенциально небезопасные выходные данные должны быть помечены
@escapeNotVerified
или@noEscape
для прохождения тестов, последнее означает, что это конкретное использование было проверено и является безопасным.В будущих выпусках все вхождения
@escapeNotVerified
будут проверены и помечены@noEscape
или исключены одним из следующих методов:\Magento\Framework\View\Element\AbstractBlock::escapeHtml
\Magento\Framework\View\Element\AbstractBlock::escapeUrl
\Magento\Framework\View\Element\AbstractBlock::escapeXssInUrl
\Magento\Framework\View\Element\AbstractBlock::escapeQuote
Также обратите внимание, что некоторые выходные данные считаются безопасными и не должны быть отмечены такими аннотациями:
getTitleHtml
Ожидается, что вызовы методов, которые содержат html в своих именах , также будут выводить экранированный HTMLисточник
Я нахожу это в devdocs Magento2
Статический тест
Для повышения безопасности от инъекций XSS
XssPhtmlTemplateTest.php
в dev \ tests \ static \ testsuite \ Magento \ Test \ Php добавлен статический тест .Этот статический тест находит все эхо-вызовы в PHTML-шаблонах и определяет, правильно ли он экранирован или нет.
Он охватывает следующие случаи:
/* @noEscape */
до выхода. Выход не требует выхода. Тест зеленый./* @escapeNotVerified */
до выхода. Выходной выход не проверяется и должен быть проверен. Тест зеленый.Читайте Magento Docs на 2.0 или 2.1
источник