Ich habe eine Klasse bemerkt, vendor/magento/framework/Escaper.php
die einige nützliche Sicherheitsmethoden enthält, die in (hauptsächlich) Vorlagen verwendet werden. Einige von ihnen sind ziemlich häufig ( escapeHtml()
), aber einige von ihnen sind schwer zu begegnen.
- Welche Methode und
escapeXssInUrl()
wirklich? - Im Falle einer Methode
escapeJsQuote()
- an welcher Stelle finden sich diese Zitate? Nur inlinejs
in Vorlagen? - Hat jemand eine klare Erklärung, wann alle Methoden angewendet werden sollten (praktische Beispiele)?
- Was ist ein Unterschied zwischen
escapeUrl()
undescapeXssInUrl()
und wenn der zweite uns eine bessere Sicherheit bietet, warum nicht immer den zweiten verwenden, anstatt nur HTML-Zeichen zu entkommen? escapeQuote()
sollte zum Beispiel verwendet werden, um eine Variable in einer solchen Situation wiederzugeben<div value="<?php echo
[hier?]$value?>"></div>
?
escapeUrl()
und erkennenescapeXssInUr()l
? Es ist erwähnenswert, dassThe 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.
In den DevDocs gibt es einen hilfreichen Eintrag zur Vorlagensicherheit: Sicherheitsmaßnahmen gegen XSS-Angriffe
Betreff
escapeXssInUrl
: Die FunktionescapeUrl
ruftescapeXssInUrl
intern plusescapeHtml
danach auf. Auch Magento verwendetescapeUrl
intern.Stellen Sie sicher, dass Sie die neuen Escape-Funktionen nach Magento 2.2 überprüfen. ist raus, da neue kommen werden:
Und Sie könnten genauso gut daran interessiert sein, meine Präsentation dazu hier zu lesen : Sichere Eingabe- und Ausgabebehandlung - Treffen Sie Magento Romania 2016
quelle
escapeXssInUrl()
- sollte ich alsoescapeUrl()
insted verwenden? 'Eav Backedn Validierungsregeln' - Ich denke, sie werden nur automatisch verwendet und ich verwende sie bereits? Oder sollte das sie an Stellen implementieren, an denen Eingaben hinzugefügt werden?escapeUrl
alsescapeXssInUrl
dies intern genannt wird: github.com/magento/magento2/blob/…