Я бачу багато випадків цього коментаря /* @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