Notei uma classe vendor/magento/framework/Escaper.php
que contém alguns métodos úteis de segurança usados dentro (principalmente) de modelos. Alguns deles são bastante comuns ( escapeHtml()
), mas alguns são difíceis de encontrar.
- Que método e
escapeXssInUrl()
realmente faz? - Em caso de método
escapeJsQuote()
- qual é o local onde essas citações podem ser encontradas? Apenas embutidojs
nos modelos? - Alguém tem alguma explicação clara sobre quando todos os métodos devem ser usados (exemplos práticos)?
- Qual é a diferença entre
escapeUrl()
eescapeXssInUrl()
se o segundo nos concede uma segurança melhor, por que nem sempre o segundo é usado para escapar apenas de caracteres html? escapeQuote()
deve ser usado, por exemplo, para ecoar alguma variável em situação como esta<div value="<?php echo
[aqui?]$value?>"></div>
?
escapeUrl()
eescapeXssInUr()l
? Vale a pena notar queThe 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.
Há uma entrada útil nos DevDocs sobre segurança de modelo: Medidas de segurança contra ataques XSS
Re
escapeXssInUrl
: A funçãoescapeUrl
chamaescapeXssInUrl
internamente maisescapeHtml
depois. Magento também usaescapeUrl
internamente.Certifique-se de verificar as novas funções de escape uma vez Magento 2.2. é lançado, pois haverá novos chegando:
E você pode também estar interessado em conferir minha apresentação sobre isso aqui: Manuseio seguro de entradas e saídas - Meet Magento Romania 2016
fonte
escapeXssInUrl()
- então devo usarescapeUrl()
insted? 'Regras de validação de Eav Backedn' - acho que elas são apenas usadas automaticamente e eu já as estou usando? Ou isso deve ser implementado nos locais em que as entradas são adicionadas?escapeUrl
doescapeXssInUrl
que isso é chamado internamente: github.com/magento/magento2/blob/… #