Я заметил класс, vendor/magento/framework/Escaper.php
который содержит несколько полезных методов безопасности, используемых внутри (главным образом) шаблонов. Некоторые из них довольно распространены ( escapeHtml()
), но с некоторыми из них сложно встретиться.
- Какой метод и
escapeXssInUrl()
правда делает? - В случае метода
escapeJsQuote()
- где можно найти эти цитаты? Только встроенныеjs
в шаблоны? - У кого-нибудь есть четкое объяснение, когда следует использовать все методы (практические примеры)?
- В чем разница между
escapeUrl()
иescapeXssInUrl()
если второе дает нам лучшую безопасность, почему бы не всегда использовать второе вместо экранирования только символов html? escapeQuote()
следует использовать, например, для отображения некоторой переменной в такой ситуации<div value="<?php echo
[здесь?]$value?>"></div>
?
escapeUrl()
иescapeXssInUr()l
? Стоит заметить, чтоThe upcoming release of Magento 2.2 will deprecate these functions. Please check back on this page after the 2.2 release for updated documentation on new escape functions.
В DevDocs есть полезная запись о безопасности шаблонов: Меры безопасности против атак XSS
Re
escapeXssInUrl
: функцияescapeUrl
вызываетescapeXssInUrl
внутренне плюсescapeHtml
потом. Также Magento используетescapeUrl
внутренне.Обязательно ознакомьтесь с новыми функциями выхода из Magento 2.2. отсутствует, так как будут приходить новые:
И вам также может быть интересно ознакомиться с моей презентацией об этом здесь: Безопасная обработка ввода и вывода - Meet Magento Romania 2016
источник
escapeXssInUrl()
- так что мне следует использоватьescapeUrl()
insted? «Правила проверки Eav Backedn» - я полагаю, они используются автоматически, а я их уже использую? Или это должно реализовывать их в местах ввода?escapeUrl
чемescapeXssInUrl
это называется внутри: github.com/magento/magento2/blob/…