【发布时间】:2014-09-24 04:12:08
【问题描述】:
我有以下 AWS 存储桶策略来限制对我的 Amazon S3 网址的访问:
{
"Version": "2008-10-17",
"Statement": [
{
"Sid": "Allowinmydomains",
"Effect": "Allow",
"Principal": {
"AWS": "*"
},
"Action": "s3:GetObject",
"Resource": "arn:aws:s3:::MyBucket/*",
"Condition": {
"StringLike": {
"aws:Referer": [
"http://www.example.com/*",
"http://example.com/*"
]
}
}
},
{
"Sid": "Givenotaccessifrefererisnomysites",
"Effect": "Deny",
"Principal": {
"AWS": "*"
},
"Action": "s3:GetObject",
"Resource": "arn:aws:s3:::MyBucket/*",
"Condition": {
"StringNotLike": {
"aws:Referer": [
"http://www.example.com/*",
"http://example.com/*"
]
}
}
}
]
}
上述存储桶策略适用于除 Safari 之外的所有浏览器。在网上做研究,据说是因为 Safari 浏览器没有发送任何referer 标头而无法正常工作。
是否有任何方法可以使此存储桶策略适用于所有浏览器,或者是否有其他方法可以拒绝访问 Amazon 存储桶以防止从我的站点外进行热链接和下载文件?
谢谢!
【问题讨论】:
-
您在哪里找到有关 Safari 不发送 Referer 标头的信息?你真的观察过这种行为吗?
标签: amazon-web-services amazon-s3 safari amazon