どのように私は、署名された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する

他のヒント

あなたは、両方のドメイン(S)からのリファラを可能にし、あなたのドメインからではないリファラを拒否するバケットポリシーを必要としています。私はあなたが明示的な拒否が含まれていない場合は、画像をホットリンクすることができることを発見しました - 。多くのガイドおよび実施例は、単に許可するポリシーを与え、拒否一部を言及していない

ここに私のポリシーです、ちょうどあなた自身の細部にBUCKET-NAMEとYOUR-ウェブサイトを変更します。

{
  "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ファイル、* CloudFrontをする.FLA。基本的にはあなたのサイトへの相対リンクとしてあなたのイメージのURLが存在します。それは完全にS3 / CloudFrontをURLの発見を妨げない、ちょうどだろう泥棒のための難しさの層を追加します。

代わりに、上記の方法でhtaccessを介して、ホットリンクの制限を適用する、試してみる価値があるかもしれません。私自身はそれを試していません。

これは、彼らの<のhref = "https://docs.aws.amazon.com/AmazonS3/latest/dev/example-bucket-policies.html#example-bucket-policies-use-case-4" のrelであります= "nofollowを">公式ドキュメント

変更は、ドメインに自分のバケット名、およびexamplebucketexample.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://ブログ.sat.iit.edu / 2011/12 /アマゾン-AWS-S3-VS-CloudWatchのパフォーマンス・リベンジ・マッチ/

編集:S3とCloudFrontを両方要求は正しいURLから来ていることを確認するためにバケットポリシーの同じタイプを使用します。 CloudFrontのは、しかし、まだ速くなります。

そうでもありません。あなたはそれを通じてEC2インスタンスおよびプロキシを実行することができます。

ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top