Magento 2 @escapeNotVerified


65

25
Hey ... Warum die Gegenstimme? Ich darf keine Fragen stellen?
Marius

Antworten:


95

Dieses Tag wird von statischen Tests verwendet. Jede potenziell unsichere Ausgabe muss entweder mit @escapeNotVerifiedoder gekennzeichnet werden @noEscape, um Tests zu bestehen. Letzteres bedeutet, dass diese bestimmte Verwendung überprüft wurde und sicher ist.

In zukünftigen Versionen werden alle Vorkommen von @escapeNotVerifiedüberprüft und entweder @noEscapemit einer der folgenden Methoden markiert oder mit einem Escapezeichen versehen:

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

Beachten Sie auch, dass einige Ausgaben als sicher gelten und nicht mit solchen Anmerkungen versehen werden sollten:

  • In einfachen Anführungszeichen eingeschlossen
  • In doppelten Anführungszeichen, aber ohne Variablen
  • Typumwandlung nach bool, int
  • Von Methodenaufrufen, deren Namen 'html' enthalten getTitleHtml, wird ebenfalls erwartet, dass sie mit Escapezeichen versehenes HTML ausgeben

3
Große antworten @Alex
Amit Bera

Gute Ans +1 @Alex :)
Rama Chandran M

Es hilft +1 @Alex
Nikunj Vadariya

4
Nach dem derzeitigen Tempo wird der Ersatz ungefähr 2026 erfolgen: D
Fabian Schmengler

26

Ich finde es in devdocs von Magento2

Statischer Test

Um die Sicherheit gegen XSS-Injektionen zu verbessern, XssPhtmlTemplateTest.phpwird dev \ tests \ static \ testsuite \ Magento \ Test \ Php ein statischer Test hinzugefügt.

Dieser statische Test findet alle Echoaufrufe in PHTML-Templates und stellt fest, ob er ordnungsgemäß maskiert ist oder nicht.

Es deckt folgende Fälle ab:

  • /* @noEscape */vor der Ausgabe. Die Ausgabe erfordert kein Escapezeichen. Test ist grün.

  • /* @escapeNotVerified */vor der Ausgabe. Die Ausgabe-Escape-Funktion wird nicht überprüft und sollte überprüft werden. Test ist grün.

Lesen Sie die Magento-Dokumentation unter 2.0 oder 2.1

Durch die Nutzung unserer Website bestätigen Sie, dass Sie unsere Cookie-Richtlinie und Datenschutzrichtlinie gelesen und verstanden haben.
Licensed under cc by-sa 3.0 with attribution required.