Я использую Amazon S3 для хранения изображений моего сайта. У меня есть политика ведра, которая останавливает другие сайты, ссылающиеся на мои изображения.предотвращать хотлинкинг изображений, но разрешать прямой доступ
Чтобы заставить это работать, у меня есть разрешение на использование файла «private» в S3, а затем политика ведра открывает доступ только к моему веб-сайту.
Это прекрасно работает, но поскольку файл является «закрытым», я не могу просматривать изображение непосредственно в браузере, и это то, что я хочу разрешить.
Вот политика
{
"Version": "2008-10-17",
"Id": "preventHotLinking",
"Statement": [
{
"Sid": "1",
"Effect": "Allow",
"Principal": {
"AWS": "*"
},
"Action": "s3:GetObject",
"Resource": "arn:aws:s3:::mybucket/*",
"Condition": {
"StringLike": {
"aws:Referer": [
"http://mydomain.com/*",
"http://www.mydomain.com/*"
]
}
}
}
]
}
Итак, подведем итоги:
- сам файл находится в частной
- вышеуказанной политики позволяет изображения, которые будут отображаться на страницах из области " mydomain.com ", но не на" someelsesdomain.com "
Это также блокирует d однако, при вставке http://jbtestyt.s3.amazonaws.com/archie.jpg в браузер не отображается изображение (потому что оно личное).
Но я хотел бы, чтобы изображение отображалось для прямого доступа.
Возможно, решение состоит в том, чтобы сделать файл общедоступным, а затем лишить всех рефереров, кроме тех, которые я перечисляю? Но я не был уверен, и не мог найти ничего подобного.
Большое спасибо заранее.