我有一个使用ActiveStorage / S3来管理附件的Rails应用程序。其中的一些附件是.js文件,需要在我的客户端中下载并执行。
[当我最初尝试下载这些资产时,出现了与CORS相关的错误,我通过根据this answer在我的S3存储桶中添加CORS配置来解决该错误。
该配置包括该行
<AllowedOrigin>*</AllowedOrigin>
此行使我有些紧张。我想将资产保密。它们位于没有公共访问权限的存储桶中,我的rails应用程序的用户必须经过身份验证才能重定向到他们。
在CORS配置的情况下,我不清楚这行的确切含义。会损害附件的安全性吗?命名一个特定的来源而不是全部允许,可以使我的附件更加安全吗?
我很简单,不知道您对以这种方式发送.js
文件的需求和限制,我建议您签出this thread。
会损害我附件的安全性吗?命名一个特定的来源而不是全部允许,会使我的附件更安全吗?
我不这么认为。在Web浏览器(more info here)中检查了跨域标头,但它不会阻止来自其他服务(如Postman或cURL)的呼叫。因此,您的应用程序无论如何都必须确保这些.js
文件的安全性。如前所述,即使网络浏览器决定不使用内容,实际上也会下载内容。
万岁克里斯托·雷。