如何在不使用签名URL的情况下阻止Amazon S3上的热链接?

Mat*_*mer 21 amazon-s3 hotlinking

有没有什么方法可以防止在不使用签名URL的情况下在Amazon S3上进行热链接?

Oll*_*ass 20

您需要一个存储桶策略,它允许来自您的域的引荐来源并拒绝不属于您的域的引荐来源.我发现如果您不包含显式拒绝,图像可以进行热链接 - 许多指南和示例只是给出允许策略而不提及拒绝部分.

这是我的政策,只需将BUCKET-NAME和YOUR-WEBSITE更改为您自己的详细信息:

{
  "Version": "2008-10-17",
  "Id": "",
  "Statement": [
    {
      "Sid": "Allow in my domains",
      "Effect": "Allow",
      "Principal": {
        "AWS": "*"
      },
      "Action": "s3:GetObject",
      "Resource": "arn:aws:s3:::BUCKET-NAME/*",
      "Condition": {
        "StringLike": {
          "aws:Referer": [
            "http://www.YOUR-WEBSITE.com/*"
          ]
        }
      }
    },
    {
      "Sid": "Deny access if referer is not my sites",
      "Effect": "Deny",
      "Principal": {
        "AWS": "*"
      },
      "Action": "s3:GetObject",
      "Resource": "arn:aws:s3:::BUCKET-NAME/*",
      "Condition": {
        "StringNotLike": {
          "aws:Referer": [
            "http://www.YOUR-WEBSITE.com/*"
          ]
        }
      }
    }
  ]
}
Run Code Online (Sandbox Code Playgroud)


Rob*_*Mao 11

通过设置正确的S3存储桶策略,您可以添加引用策略以阻止热链接.

http://s3browser.com/working-with-amazon-s3-bucket-policies.php

  • 请在此处发布答案,而不是链接到答案. (18认同)