首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Three.JS、S3和宿主JS文件的访问控制源错误

Three.JS、S3和宿主JS文件的访问控制源错误
EN

Stack Overflow用户
提问于 2012-07-29 00:57:25
回答 2查看 1.2K关注 0票数 3

背景

我们使用Javascript库Three.JS来可视化存储在S3上的模型。

我所有的模型都使用JSONLoader。其他格式缺乏我们团队所需的工具链支持,而像COLLADA或OBJ这样的通用格式,就所包含的加载程序库而言,似乎是二等公民(例如,在“示例”下的源树中找到了它们.JSONLoader在核心加载器文件夹中)。

我有很大的模型文件,所以把它们和它们的相关资产存储在亚马逊的S3存储上,那里的带宽和空间相对便宜。其意图是使用Three.JS的web应用程序从亚马逊上的存储中加载模型,一切都很好。

问题

不幸的是,这些模型是Javascript文件(例如“modelBlah.js”),当它们被JSONLoader加载时,任何正常的浏览器都会立即抱怨我们违反了脚本的相同来源策略--例如,我们正在从一个与调用脚本不同的域加载和评估脚本(这是应用程序的主要工具)。

因此,我们似乎已经面对了多年的网络安全最佳实践。

到目前为止的解决方案

  • 自己主持模特?我们目前正在使用Heroku,理想情况下,我们希望使用一种被专门称为“大桶比特和带宽”的服务,而不是自己使用。
  • 利用DNAME记录来欺骗这些资源的来源?不幸的是,这似乎不足以欺骗浏览器,因为用于媒体托管的子域仍然会激怒浏览器的安全性。
  • 使用CORS,特别是访问-控制-允许源标头?简短的浏览亚马逊S3似乎不允许这样做,虽然我希望我弄错了。即使如此,这是否足够呢?

有什么想法吗?

EN

回答 2

Stack Overflow用户

发布于 2012-09-27 00:27:31

您现在终于可以在Amazon上使用CORS了:http://docs.amazonwebservices.com/AmazonS3/latest/dev/cors.html

票数 2
EN

Stack Overflow用户

发布于 2012-07-29 01:46:28

您肯定需要CORS,我认为S3允许这样做。否则,这个周末我不得不在Google的Cloud上安装一个水桶,它启用了CORS,而且相当容易(使用gsutil)。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/11705833

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档