我的AWS存储桶政策中有以下代码:
{
"Version": "2008-10-17",
"Statement": [
{
"Sid": "AllowPublicRead",
"Effect": "Allow",
"Principal": {
"AWS": "*"
},
"Action": "s3:GetObject",
"Resource": "arn:aws:s3:::staticimages.co/*",
"Condition": {
"StringLike": {
"aws:Referer": [
"http://domainname.co/*",
"http://www.domainname.co/*"
]
}
}
}
]
}
在我输入引用代码后,我无法通过其中列出的域访问我的图像。
关于我做错的任何想法?
THX
另外我注意到人们使用不同的SID文本......这是什么?
答案 0 :(得分:2)
我强烈建议不要使用Referer来控制对Web图像的访问。 HTTP Referer请求标头最多是不可靠的,因为有些人出于隐私原因在浏览器中禁用它,而其他人则在防火墙后面剥离了所有传出请求的标头。
当然,如果有人直接导航到您的某个静态图像,Referer也将为空,这可能不是一个大问题。无论如何,它不是你可以依赖的东西,它会打破许多访客的浏览体验。