Я провел собственное расследование, используя собственную учетную запись flickr и незарегистрированный браузер.
Вот страница всех размеров для одной из моих фотографий .
До меня менялось "Кто может получить доступ к вашим исходным файлам изображений?" в разделе «Конфиденциальность и разрешения» обычный пользователь Интернета может видеть ссылку « Оригинал » в дополнение к другим размерам. На этой странице был тег <img>
, связанный с этим URL . На странице "Все размеры" также была ссылка Загрузить оригинальный размер этой фотографии . (Если вы проверите URL-адреса, обратите внимание, что в имени файла есть суффикс _d
; Flickr увидит это и вызовет HTTP-заголовок, который сообщает браузеру о загрузке вместо отображения изображения).
Для сравнения вот страница большого размера и соответствующий URL-адрес изображения .
Затем я изменил настройку приватности, очистил кеш в своем незарегистрированном браузере и перепроверил ссылки. Вот что я нашел:
- Ссылка на страницу оригинального размера теперь перенаправляет на страницу большого размера . Это разумно.
- На странице "Все размеры" больше не было ссылок на Оригинальный размер, как ожидалось.
- Я все еще смог загрузить исходный размер изображения
- Это немного удивительно. Это означает, что, хотя существуют ограничения доступа к страницам, содержащим изображения, не обеспечивает безопасность самих изображений .
- Как веб-разработчик, я могу понять, почему они, вероятно, сделали это. Изображения являются большими и статичными и, вероятно, обслуживаются через сеть доставки контента. Это быстрее / эффективнее не проверять разрешения для файлов изображений; Вы можете просто разместить их на «тупом» веб-сервере.
Итак, когда известен URL-адрес исходного файла, невозможно остановить загрузку исходной версии файла (если не удалить его полностью ... и , что может даже не работать. Я не пробовал).
Последний вопрос: насколько правдоподобны исходные URL-адреса файлов? Вот они рядом:
Large: http://farm7.static.flickr.com/6126/6044833128_cc02cf41e3_b.jpg
Original: http://farm7.static.flickr.com/6126/6044833128_3b8eac89d7_o.jpg
Итак, суффикс (_b
или _o
) определяет размер, но есть и другой элемент в имени файла, который изменяется в зависимости от размера. Вы не можете просто изменить суффикс для изменения размеров. Вот URL для Большой версии с суффиксом, переключенным с на _o
; это не работает.
Если бы я был Flickr, я бы позаботился о том, чтобы этот средний элемент был абсолютно случайным для каждого размера фотографии и, следовательно, не мог быть понятным, за исключением атаки методом грубой силы. Его длина составляет 40 бит, поэтому существует много (2 ^ 40, ~ 1 триллион) возможных вариантов. Маловероятно, что кто-либо потрудится перебрать этот сегмент, чтобы получить версию файла оригинального размера ... когда у него уже есть версия large .
Итак, если вы отключили функцию «Загрузка исходного файла» и не указали URL-адреса исходных изображений , я бы сказал, что функция Flickr довольно безопасна , Если он сломается, это в значительной степени ваша вина.