网站可以这样开始收集SE用户和观众的IP地址吗?
是的。 Hotlinking嵌入图像是SE上的一项功能,过去一直受到用户的批评。在您的示例中,问题页面的每个访问者也会不自觉地在后台向远程 SVG 图像发出请求。这样,每个查看问题的人都会向(可能不受信任的)第三方主机透露他们的 IP 地址、用户代理字符串、引荐来源网址和其他浏览器详细信息。
还有其他潜在问题吗?
通常,SVG 文档能够提供活动的脚本内容。因此,允许您网站的用户不受限制地上传 SVG 图像可能会造成持续的 XSS 威胁。然而,当一个 SVG 文件被嵌入为<img src=...>
时,就像在 SE 上所做的那样,浏览器会阻止它执行任何客户端代码。因此,SVG 在这里实际上不会构成比盗链 GIF 或 JPEG 图像更大的威胁。
盗链的另一个负面影响是第三方主机可以随时决定默默地用广告或其他不适当的内容替换图像。(你可以在这里找到一些现实生活中的例子。)
特制的 SVG 文件可用于耗尽您的内存。这被称为亿笑攻击。不过,作为一种温和的 DoS 攻击,它与其说是严重的威胁,不如说是一种烦恼。
在某些浏览器中,仍然可以通过为热链接图像显示 HTTP 基本身份验证对话框来进行高级网络钓鱼攻击。
我强烈支持 SE 强制所有嵌入图像都托管在受信任、可靠的 CDN 上(例如 Imgur,就像直接上传一样)。社区理所当然地要求引用文本资源,以防链接不可用。因此,在图像主机脱机的情况下也保留图像是合乎逻辑的。(但是,在 CDN 中自动重新上传受版权保护的图像可能会产生法律影响。)