Я бачу багато випадків цього коментаря /* @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, що уникнувЯ знаходжу це у програмах Magento2
Статичний тест
Для підвищення безпеки від ін'єкцій XSS XssPhtmlTemplateTest.phpдодається статичний тест до dev \ testing \ static \ testinguite \ Magento \ Test \ Php.
Цей статичний тест знаходить усі ехо-виклики в PHTML-шаблонах і визначає, правильно його виконувати чи ні.
Він охоплює такі випадки:
/* @noEscape */перед виходом. Вихідні дані не потребують втечі. Тест зелений.
/* @escapeNotVerified */перед виходом. Вихідний вихід не перевіряється, і його слід перевірити. Тест зелений.
Прочитайте Документи Magento на версії 2.0 або 2.1