Подтвердить что ты не робот

Как Flickr не позволяет людям загружать изображения с сайта?

Просто интересно, как Flickr мешает людям загружать изображения со своего сайта? Что они используют?

4b9b3361

Ответ 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 >

Извините, просто появилась идея и захотела добавить ее к уже ответившему вопросу (спать спать и весь этот джаз).