Z jakich względów bezpieczeństwa pliki svg są blokowane w programie do przesyłania multimediów?

15

Widzę, że pliki SVG są domyślnie blokowane w programie do przesyłania multimediów i musisz dodać go jako obsługiwany typ MIME w functions.php. Jakie są przyczyny bezpieczeństwa?

Claudiu Creanga
źródło

Odpowiedzi:

17

SVG może zawierać JavaScript . JavaScript może być wykorzystywany do przechwytywania plików cookie lub wykonywania innych wątpliwych działań . Można go nawet „ukryć” w przestrzeniach nazw:

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

źródło

Bardzo trudno jest je odfiltrować podczas przesyłania, więc domyślnie nie jest to dozwolone.

fuxia
źródło
Pomyślałem, że celem przestrzeni nazw jest uniknięcie kolizji nazw znaczników, co oznacza, że ø:scriptnie należy traktować ich jako, scripta zatem nie należy nic robić. Co powoduje, że ø:scriptznacznik z przestrzenią nazw jest traktowany jako scriptznacznik bez przestrzeni nazw ? Czy też pliki SVG umożliwiają także osadzanie parserów XML innych niż JS?
JAB
@JAB przestrzeń nazw http://www.w3.org/1999/xhtmlczyni tę instancję skryptu odpowiednikiem zwykłego skryptu.
fuxia
Oh, teraz rozumiem. Domniemana przestrzeń nazw dla znaczników HTML jest http://www.w3.org/1999/xhtmltaka, że ​​możesz utworzyć odwołanie do tego adresu URL i użyć go jako prefiksu przestrzeni nazw dla takich znaczników, a parsery XHTML będą traktować je jak normalne znaczniki.
JAB