서명 된 URL을 사용하지 않고 Amazon S3의 핫 링크를 어떻게 방지합니까?

StackOverflow https://stackoverflow.com/questions/948823

  •  09-09-2019
  •  | 
  •  

문제

서명 된 URL을 사용하지 않고 Amazon S3에서 핫 링크를 방지 할 수있는 방법이 있습니까?

도움이 되었습니까?

해결책

올바른 S3 버킷 정책을 설정하면 추천 정책을 추가하여 핫 링크를 방지 할 수 있습니다.

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

다른 팁

도메인의 추천자를 허용하고 도메인이 아닌 추천자를 거부하는 버킷 정책이 필요합니다. 명시 적 거부를 포함하지 않으면 이미지가 핫 링크 될 수 있음을 발견했습니다. 많은 가이드와 예제는 허용 정책을 제공하고 거부 부분을 언급하지 않습니다.

여기 내 정책이 있습니다. 버킷 이름과 웹 사이트를 자신의 세부 사항으로 변경하십시오.

{
  "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/*"
          ]
        }
      }
    }
  ]
}

Apache RewriteMap을 사용하여 상대 링크를 재구성하여 파일 확장자를 선택합니다 - *.jpg, *.gif, *swf, *.fla to Cloudfront. 기본적으로 이미지의 URL을 사이트에 대한 상대 링크로 만듭니다. S3/Cloudfront URL의 발견을 완전히 막을 수는 없으며 도둑이 될 수있는 난이도를 추가합니다.

시도해 볼 가치가있을 수 있습니다. 위의 방법으로 htaccess를 통해 핫 링크 제한을 적용하십시오. 나는 그것을 직접 시도하지 않았다.

좋은 튜토리얼이 있습니다 여기. 웹 사이트 코드에는 솔루션이 작동하지 않도록하는 공백 문자가 있으므로 주석을 확인하십시오.

그것은 그들의 것입니다 공식 문서

변화 examplebucket 당신의 버킷 이름으로, 그리고 example.com 도메인에.

"Version":"2012-10-17",
"Id":"http referer policy example",
"Statement":[
  {
    "Sid":"Allow get requests originating from www.example.com and example.com.",
    "Effect":"Allow",
    "Principal":"*",
    "Action":"s3:GetObject",
    "Resource":"arn:aws:s3:::examplebucket/*",
    "Condition":{
      "StringLike":{"aws:Referer":["http://www.example.com/*","http://example.com/*"]}
    }
  }
]
}

핫 링크는 Amazon이 Cloudfront를 만든 이유 중 하나입니다. Cloudfront는 훨씬 빠릅니다. 나는 당신이 여기서 볼 수있는 글을 썼습니다.

http://blog.sat.iit.edu/2011/12/amazon-aws-s3-vs-cloudwatch-performance-grudgematch/

편집 : S3 및 Cloudfront는 모두 동일한 유형의 버킷 정책을 사용하여 요청이 올바른 URL에서 나옵니다. Cloudfront는 여전히 더 빠릅니다.

설마. 이를 통해 EC2 인스턴스를 실행하고 프록시를 할 수 있습니다.

라이센스 : CC-BY-SA ~와 함께 속성
제휴하지 않습니다 StackOverflow
scroll top