Просто интересно, как Flickr мешает людям загружать изображения со своего сайта? Что они используют?
Как Flickr не позволяет людям загружать изображения с сайта?
Ответ 1
Прозрачный .gif над изображением. Вы можете загрузить фактическое изображение, просмотрев исходный код HTML и найти фактический URL изображения.
Например, случайное изображение: http://www.flickr.com/photos/[email protected]/4300352607/
<img style="position:absolute;top:0px;left:0px;display:block" src="http://l.yimg.com/g/images/spaceball.gif" alt="" width="500" height="366">
Это прозрачное изображение сверху.
<img src="http://farm5.static.flickr.com/4057/4300352607_edcc5a4a9e.jpg" alt="Say It With Flowers by *sido* (back in a few days)." title="" width="500" height="366" class="reflect">
Это фактическое изображение, которое отображается ниже spaceball.gif.
Ответ 2
Не использовать дамп, но концептуально, если вы действительно пытаетесь заблокировать загрузку изображения, вы могли бы (я думаю). Используя инфраструктуру asp.net mvc, вы можете пометить изображение с помощью уникального ключа, сохранив ключ в памяти или в какой-либо другой форме персистентности и передать его клиенту с идентификатором в качестве имени файла. На возвращаемом конце, по запросу файла, вы можете перехватить запрос на изображение и выполнить поиск по ключу, сопоставляющему его с фактическим файлом. После того, как у вас есть файл, вы возвращаете изображение в виде пользовательского результата с соответствующими метатегами (по крайней мере, в mvc, не знаете, как вы это сделаете в другом месте). Прежде чем вы вернете его, вы отметите результат как просматриваемый.
Это было бы большой работой на сервере, но для того, чтобы кто-нибудь мог обмануть изображение, потребовалось бы много усилий, если бы вы использовали прозрачную gif-технику Flickr вместе с ней.
Идея состоит в том, что один запрос будет выдаваться на обычном представлении, и любые дальнейшие попытки просмотреть изображение напрямую (путем просмотра источника и захвата URL-адреса) будут заблокированы.
<./threadump >
Извините, просто появилась идея и захотела добавить ее к уже ответившему вопросу (спать спать и весь этот джаз).