По каким причинам безопасности svgs блокируется в загрузчике медиа?


15

Я вижу, что SVG по умолчанию заблокированы в загрузчике мультимедиа, и вы должны добавить его как поддерживаемый тип MIME в functions.php. Какие причины безопасности стоят за этим?

Ответы:


17

SVG может содержать JavaScript . JavaScript может быть использован для кражи куки или других сомнительных действий . Его даже можно «спрятать» в пространствах имен:

<html xmlns="http://www.w3.org/1999/xhtml">
   <ø:script src="//0x.lv/" />
</html>

источник

Это очень сложно отфильтровать во время загрузки, поэтому по умолчанию это не разрешено.


Я думал, что смысл пространства имен ø:scriptзаключается в том, чтобы избежать коллизии имен тегов, то есть не следует обрабатывать их scriptи, следовательно, ничего не делать. Что заставляет ø:scriptтег пространства имен трактоваться как scriptтег без пространства имен ? Или SVG также позволяют встраивать не-JS XML-парсеры?
JAB

@JAB пространство имен http://www.w3.org/1999/xhtmlделает этот экземпляр сценария эквивалентом обычного сценария.
fuxia

О, теперь я понимаю. Неявное пространство имен для тегов HTML таково http://www.w3.org/1999/xhtml, что вы можете создать ссылку на этот URL и использовать ее в качестве префикса пространства имен для таких тегов, и анализаторы XHTML будут обрабатывать их как обычные теги.
JAB
Используя наш сайт, вы подтверждаете, что прочитали и поняли нашу Политику в отношении файлов cookie и Политику конфиденциальности.
Licensed under cc by-sa 3.0 with attribution required.