aws referer代码 - 不工作 - 无法访问S3图像

时间:2013-07-29 08:25:11

标签: amazon-web-services

我的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文本......这是什么?

1 个答案:

答案 0 :(得分:2)

我强烈建议不要使用Referer来控制对Web图像的访问。 HTTP Referer请求标头最多是不可靠的,因为有些人出于隐私原因在浏览器中禁用它,而其他人则在防火墙后面剥离了所有传出请求的标头。

当然,如果有人直接导航到您的某个静态图像,Referer也将为空,这可能不是一个大问题。无论如何,它不是你可以依赖的东西,它会打破许多访客的浏览体验。