Предотвращение хотлинкинга изображения; разрешать только реферер и перенаправленные запросы? - PullRequest
1 голос
/ 28 марта 2011

У меня есть несколько изображений в ведре на S3.Мое приложение использует эти изображения.Я хочу следующее:

  • Разрешить доступ к изображению только в том случае, если:
    1. Реферер - это мой сайт - Это я уже могу сделать с политикой корзины
    2. Пользователь был перенаправлен с моего сайта

Проблема заключается в переадресации, поскольку при перенаправлении никакой реферер не отправляется в Amazon S3.

Есть ли способ ограничить доступ к моим файлам S3 так, как я описал выше?

Моя текущая политика сегментов выглядит следующим образом:

{
    "Version": "2008-10-17",
    "Id": "e9c9be4d-cdfc-470c-8582-1d5a9e4d04be",
    "Statement": [
        {
            "Sid": "",
            "Effect": "Allow",
            "Principal": {
                "AWS": "*"
            },
            "Action": "s3:GetObject",
            "Resource": "arn:aws:s3:::mybucket/*",
            "Condition": {
                "StringLike": {
                    "aws:Referer": "http://myapp.com/*"
                }
            }
        }
    ]
}

Ответы [ 2 ]

3 голосов
/ 02 апреля 2011
  • Ваши файлы должны быть приватными.
  • Используйте подписанные URL-адреса в ссылках / перенаправления на ваши изображения.
    • Подписанные URL-адреса включают в себя срок действия; Amazon не будет показывать ваше изображение после истечения срока действия.
    • Подписанные URL не могут быть подделаны; Amazon не будет показывать ваше изображение, если подпись отсутствует или недействительна.
0 голосов
/ 02 апреля 2011

Этот парень, похоже, решил проблему:

http://www.powercram.com/2010/07/s3-bucket-policy-to-restrict-access-by.html

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...