跨域 CORS 和图像
Posted
技术标签:
【中文标题】跨域 CORS 和图像【英文标题】:Cross Domain CORS and Images 【发布时间】:2015-07-02 10:47:36 【问题描述】:我正在使用 AWS S3 和 Cloudfront 将图像传送到我的站点/域。
我一直在研究 AWS S3 CORS,我想问一下我是否限制域会限制其他域访问我的图像。
如果我要在包含图像的存储桶上设置以下内容,这会阻止其他域访问存储桶中的图像,或者图像的操作方式与 CORS 下的资源不同。
<AllowedOrigin>http://www.example.com</AllowedOrigin>
基本上我想将我的图片限制在我的网站上。
另外我听说您必须将 Cloudfront 作为另一个 AllowedOrigin 来完成这项工作 - 有人可以确认吗?
谢谢
【问题讨论】:
【参考方案1】:CORS 是由浏览器强制执行的策略。它不会阻止用户从您的云端分发中下载图像。
你有两个选择。
将所有文件设为私有并通过签名 URL 提供访问权限。但是,在这种情况下,Cloudfront 不会真正缓存图像。
另一个选项是配置 cloudfront 以转发所有标头,并使用存储桶策略根据引用者限制访问。你可以解决这个问题,但它会阻止大多数随意的盗链。
【讨论】:
以上是关于跨域 CORS 和图像的主要内容,如果未能解决你的问题,请参考以下文章
如何在无头 wordpress 环境中确保图像请求的 CORS?
即使启用了通过 JavaScript 加载的图像,也会向我抛出 CORS 错误