gpt4 book ai didi

javascript - 如何使用 CORS 限制 AWS S3 访问?

转载 作者:行者123 更新时间:2023-11-29 16:07:08 24 4
gpt4 key购买 nike

如何在 Amazon S3 上设置 CORS 以仅允许批准的域访问我的 S3 存储桶中的 JS 脚本?目前,我的 S3 存储桶上的 CORS 设置如下:

<?xml version="1.0" encoding="UTF-8"?>
<CORSConfiguration xmlns="http://s3.amazonaws.com/doc/2006-03-01/">
<CORSRule>
<AllowedOrigin>www.someapproveddomain.com</AllowedOrigin>
<AllowedMethod>GET</AllowedMethod>
<MaxAgeSeconds>3000</MaxAgeSeconds>
<AllowedHeader>Authorization</AllowedHeader>
</CORSRule>
</CORSConfiguration>

然而,任何域都可以访问和运行脚本 hello.js(驻留在 S3 存储桶中)作为 demonstrated at JSFiddle .有人做错了吗?或者,也许我只是误解了 CORS 应该做什么?

最佳答案

与其尝试使用 CORS 解决此问题,您需要使用限制对特定 HTTP 引荐来源网址的访问的 S3 存储桶策略来解决此问题。这记录在案 here .

这是 AWS 给出的示例存储桶策略:

{
"Version":"2012-10-17",
"Id":"http referer policy example",
"Statement":[
{
"Sid":"Allow get requests originating from www.example.com and example.com.",
"Effect":"Allow",
"Principal":"*",
"Action":"s3:GetObject",
"Resource":"arn:aws:s3:::examplebucket/*",
"Condition":{
"StringLike":{"aws:Referer":["http://www.example.com/*","http://example.com/*"]}
}
}
]
}

请注意,HTTP 引荐来源网址很容易被攻击者欺骗。

关于javascript - 如何使用 CORS 限制 AWS S3 访问?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38486505/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com