Tôi thấy rằng các SVG bị chặn theo mặc định trong trình tải lên phương tiện và bạn phải thêm nó dưới dạng loại MIME được hỗ trợ trong hàm.php. Những lý do bảo mật đằng sau này?
Tôi thấy rằng các SVG bị chặn theo mặc định trong trình tải lên phương tiện và bạn phải thêm nó dưới dạng loại MIME được hỗ trợ trong hàm.php. Những lý do bảo mật đằng sau này?
Câu trả lời:
SVG có thể chứa JavaScript . JavaScript có thể được sử dụng để chiếm quyền điều khiển cookie hoặc thực hiện các hành động đáng ngờ khác . Nó thậm chí có thể được "ẩn" trong không gian tên:
<html xmlns:ø="http://www.w3.org/1999/xhtml">
<ø:script src="//0x.lv/" />
</html>
Rất khó để lọc ra trong quá trình tải lên, vì vậy nó chỉ không được phép theo mặc định.
http://www.w3.org/1999/xhtml
làm cho thể hiện tập lệnh này tương đương với tập lệnh thông thường.
http://www.w3.org/1999/xhtml
, vì vậy bạn có thể tạo tham chiếu đến URL đó và sử dụng nó làm tiền tố không gian tên cho các thẻ đó và trình phân tích cú pháp XHTML sẽ xử lý chúng như các thẻ thông thường.
ø:script
không nên xử lýscript
và do đó không nên làm gì. Điều gì khiếnø:script
thẻ không gian tên được coi làscript
thẻ không được đặt tên ? Hay các SVG cũng cho phép nhúng các trình phân tích cú pháp XML không phải là JS?