Magento 2 @escapeNotVerified


65

25
Hej ... Dlaczego głosowanie negatywne? Nie wolno mi zadawać pytań?
Marius

Odpowiedzi:


95

Ten znacznik jest używany w testach statycznych. Wszelkie wyjście potencjalnie niebezpieczne muszą być oznakowane albo @escapeNotVerifiedalbo @noEscapeprzejść testy, to ostatnie oznacza, że ten szczególny zwyczaj został sprawdzony i jest bezpieczny.

W przyszłych wersjach wszystkie wystąpienia @escapeNotVerifiedbędą weryfikowane i oznaczone albo za @noEscapepomocą jednej z tych metod:

  • \Magento\Framework\View\Element\AbstractBlock::escapeHtml
  • \Magento\Framework\View\Element\AbstractBlock::escapeUrl
  • \Magento\Framework\View\Element\AbstractBlock::escapeXssInUrl
  • \Magento\Framework\View\Element\AbstractBlock::escapeQuote

Należy również pamiętać, że niektóre dane wyjściowe są uważane za bezpieczne i nie powinny być oznaczone takimi adnotacjami:

  • Ujęte w pojedyncze cytaty
  • Ujęte w podwójne cudzysłowy, ale bez zmiennych
  • Wpisz casting do bool, int
  • Wywołania metod, które zawierają w nazwach „html” getTitleHtml, również powinny wyświetlać kod ucieczki HTML

3
Wielka odpowiedź @Alex
Amit Bera

Dobry Ans +1 @Alex :)
Rama Chandran M

Pomaga +1 @Alex
Nikunj Vadariya

4
W obecnym tempie wymiana odbędzie się około 2026 r .: D
Fabian Schmengler

26

Znajduję to w devdocs Magento2

Test statyczny

Aby poprawić bezpieczeństwo przed wstrzyknięciami XSS, XssPhtmlTemplateTest.phpdo dev \ test \ static \ testsuite \ Magento \ Test \ Php dodaje się test statyczny.

Ten test statyczny odnajduje wszystkie wywołania echa w szablonach PHTML i określa, czy jest poprawnie uciekany czy nie.

Obejmuje następujące przypadki:

  • /* @noEscape */przed wyjściem. Wyjście nie wymaga ucieczki. Test jest zielony.

  • /* @escapeNotVerified */przed wyjściem. Wyjście wyjściowe nie jest sprawdzane i powinno zostać zweryfikowane. Test jest zielony.

Przeczytaj Dokumenty Magento w wersji 2.0 lub 2.1

Korzystając z naszej strony potwierdzasz, że przeczytałeś(-aś) i rozumiesz nasze zasady używania plików cookie i zasady ochrony prywatności.
Licensed under cc by-sa 3.0 with attribution required.