首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >如何在不使用签名URL的情况下阻止亚马逊S3上的热链接?

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

Stack Overflow用户
提问于 2009-06-04 06:12:35
回答 7查看 15.6K关注 0票数 22

有没有什么方法可以在不使用签名URL的情况下阻止亚马逊S3上的热链接?

EN

回答 7

Stack Overflow用户

回答已采纳

发布于 2011-09-21 05:12:22

通过设置正确的S3存储桶策略,您可以添加防盗链的引用策略。

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

票数 12
EN

Stack Overflow用户

发布于 2013-02-10 20:54:15

您需要一个存储桶策略,既允许来自您的域的推荐者,又拒绝不来自您的域的推荐者。我发现如果你不包括明确的否认,图片可以被热链接--许多指南和例子只给出了允许策略,而没有提到拒绝部分。

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

代码语言:javascript
复制
{
  "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/*"
          ]
        }
      }
    }
  ]
}
票数 25
EN

Stack Overflow用户

发布于 2009-08-08 07:39:16

我使用将相对链接重新映射到选择的文件扩展名-- *.jpg、*.gif、*swf、*.fla到RewriteMap。基本上让你的图片的url呈现为你的网站的相对链接。它并没有完全阻止S3/cloudfront url的发现,只是给潜在的窃贼增加了一层难度。

可能值得一试,使用上述方法通过htaccess应用防盗链限制。我自己还没试过。

票数 3
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/948823

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档