【发布时间】:2019-01-04 01:44:57
【问题描述】:
是否有任何解决方案可以为使用 HTML5 或 JavaScript 技术从第三方域加载的图像禁用 cookie?
我正在寻找类似于<iframe> 标记的sandbox 属性、referrerpolicy 或crossorigin 属性的<img> 标记。
【问题讨论】:
-
@JeremyBanks,感谢您的 cmets。我的主要想法是显示来自第三方域的图像,但不允许他们设置/发送 cookie。将此视为自定义 Twitter 应用程序。
-
知道了。仅供参考 this question was linked from a meta discussion 关于 Stack Overflow 本身如何防止在网站上加载 Facebook 头像时将 cookie 和推荐人发送到 Facebook。
-
令人沮丧的是,似乎真的没有一种简单的、符合规范的、仅限前端的方式来执行此操作。 Jeremy Banks 指出,接受的答案并不能保证按规范工作。在图像上使用
crossorigin="anonymous"已失效,因为它将请求的mode 设置为“cors”,因此除非第三方服务器发出适当的access-control-allow-origin标头,否则请求会返回网络错误。使用fetch和credentials: 'omit', mode: 'no-cors'可以让请求成功,但返回“不透明”响应。 -
我的最佳想法是使用
fetch,然后将不透明响应缓存在@987654337 @ 然后使用服务工作者将不透明的响应作为图像src提供?不过,我没有时间学习如何使用其中涉及的工具。 -
使用cloudimage.io/en/home怎么样?他们获取 URL 和图像大小并为您自动缩放。所以cookie不会成为问题,因为它访问了url? @JeremyBanks
标签: javascript html security cookies