从SVG链接到外部样式表时的“安全限制”(作为图像嵌入时)

时间:2012-09-26 14:32:42

标签: html css svg

根据此answer“出于安全原因,图像必须是独立文件”。也就是说,当使用img标记包含SVG文件时,它不能引用任何外部样式表。

我认为在尝试使用CSS包含SVG作为背景图像时遇到了同样的问题。 SVG链接到其他SVG文件并在Firefox中直接查看时显示正常,但在作为CSS背景图像包含时无法显示链接的内容。

这些“安全原因”是什么?我在哪里可以找到有关它们的更多信息?

1 个答案:

答案 0 :(得分:7)

考虑一个允许SVG图像作为头像的假设论坛。如果允许外部资源,骗子/恶意用户可以上传包含的SVG文件  <image xlink:href="http://evilhacker.com/myimage.png"> (假设他们控制evilhacker.com),他们可以做任何&amp;以下所有内容:

  • 每当有人查看他们时,都会在自己的域中收到ping 个人资料(并记录查看者的IP地址)
  • 潜在地为不同的人提供不同的头像 他们的IP地址,请求标题等。
  • 可能会随意更改其头像的外观(即等待 为论坛管理员批准它竖起大拇指,然后将其更改为 NSFW)

有关详细信息,请参阅this Mozilla bugthe SVG integration specification