Magento 2 @escapeNotVerified


65

25
Ehi ... Perché il downvote? Non posso fare domande?
Marius

Risposte:


95

Questo tag viene utilizzato dai test statici. Qualsiasi output potenzialmente non sicuro deve essere contrassegnato con uno @escapeNotVerifiedo @noEscapeper superare i test, quest'ultimo significa che questo particolare utilizzo è stato verificato ed è sicuro.

Nelle versioni future tutte le occorrenze di @escapeNotVerifiedsaranno verificate e contrassegnate con @noEscapeo con escape con uno di questi metodi:

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

Si noti inoltre che alcuni output sono considerati sicuri e non devono essere contrassegnati con tali annotazioni:

  • Racchiuso tra virgolette singole
  • Racchiuso tra virgolette doppie ma senza variabili
  • Digitare casting to bool, int
  • Anche le chiamate al metodo che contengono "html" nei loro nomi, come getTitleHtml, dovrebbero generare HTML con escape

3
I grandi rispondono @Alex
Amit Bera

Good Ans +1 @Alex :)
Rama Chandran M

Aiuta +1 @Alex
Nikunj Vadariya il

4
Al ritmo attuale, la sostituzione avverrà all'incirca nel 2026: D
Fabian Schmengler il

26

Lo trovo nei devdocs di Magento2

Test statico

Per migliorare la sicurezza contro le iniezioni XSS, XssPhtmlTemplateTest.phpviene aggiunto un test statico a dev \ test \ static \ testsuite \ Magento \ Test \ Php.

Questo test statico trova tutte le chiamate echo nei template PHTML e determina se è stato correttamente evaso o meno.

Copre i seguenti casi:

  • /* @noEscape */prima dell'uscita. L'output non richiede escape. Il test è verde.

  • /* @escapeNotVerified */prima dell'uscita. L'uscita di uscita non è selezionata e deve essere verificata. Il test è verde.

Leggi Magento Docs alla versione 2.0 o 2.1

Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.