我们存储 URL 而不是图像。
此外,这将增加信息和隐私风险。让我用一个视觉演示来展示。
如果您尝试将任何图像上传到 StackExchange,您会注意到该图像由 imgur.com托管。SE 服务器获取图像并将其副本上传到其私有服务器。
我将使用一个流行且无辜的模因进行实验。让我们从以下 URL 开始我们的节目:https://i.imgflip.com/2fv13j.jpg
. 请注意,我必须使用深层链接才能使此演示正常工作。
我想使用 StackExchange 上传工具将它附加到这篇文章中。就像问题中的场景一样。
🔝 这是我们新上传的图片!
让我们更深入地调查。请注意,图像现在来自而imgur.com
不是来自。imgflip.com
如果两个 URL 名称相似,请耐心等待。打开开发者工具,可以看到图片指向的位置
隐私问题
当您仅链接任何 http(s):// 在线资源时,您的浏览器将启动与该服务器的连接,并发送大量信息。在高流量网站上,网站所有者会获得大量有关访问此 Security SE 页面的人的 IP 地址的信息,以及(如果启用)推荐链接和第三方 cookie。考虑到默认情况下启用了第 3 方 cookie,如果以正确的方式滥用,这可能会泄露用户身份。
通过拥有我要上传到帖子的图片,StackExchange 可以防止 imgflip.com 知道谁在展示他们的图片。
而且,正如我们将在第二部分中看到的那样,在未来对其进行更改。
欺骗风险
考虑一下,无论您如何努力部署一个静态的“首页式”简单网站,任何远程资源的 URL 总是由服务器在每次请求时解释。虽然它可能以.jpg
服务器结束,但可能会使用脚本语言来解释请求,并最终选择要服务的内容。
既然您已经分析了您的访问者,您就可以选择为他们显示哪些内容,即直播。将 Uber- Greyball案视为现场欺骗的一个例子。流行的约会应用程序 Tinder 使用类似的软禁令或灰名单技术
[...] 当局不知道,他们在应用程序中看到的一些数字汽车并不代表实际车辆。他们能够招呼的优步司机也很快取消了。那是因为优步已经根据从应用程序和其他方式收集的数据标记了[...警察先生...] - 基本上将他们作为城市官员进行灰球化。
例如,服务器可以实现这样的逻辑:根据用户请求决定在哪里提供无害的 meme 或不受欢迎的内容,例如政治广告(提醒一些Cambridge Analytic-thing?)。Neverthles,URL 永远不会改变。
CA 声称的优势是拥有足够的关于每个美国人的数据点来建立广泛的个性档案,其客户可以利用这些数据进行广告的“心理定位”
request for https://host.com/images/img1.png
if (request comes from any of
StackExchange moderator or
Automated content filter or
Government enforcer or
Anything you can imagine)
{
decide to serve innocuous content
}
else if (request comes from a user you want to decept)
{
decide to serve a targeted advertising or deceptive content somehow
}
查看这张图片,了解实时过滤可能会发生什么。同一个网址,不同的用户看到的内容不同。感谢 Buckethead 勋爵让自己在政治上保持中立。
在同一个 URL 上,我们现在能够提供与请求者不同的内容。
由于这些原因,您必须考虑获取远程资源以便对其进行永久快照,这与带宽和磁盘空间限制有关。
我不会在这里讨论 1) 保留 EXIF 标签和 2) 使用您自己的编解码器重新编码图像以防止进一步的有效负载攻击