Как спрятать картинку от сохранения через копию экрана?
Хочется в браузере на компе или телефоне показать картинку, но максимально усложнить её сохранение зрителем. Популярная нынче тема «исчезающих» сообщений, Snapchat, эфемерный мессаджинг.
Сценарий: Оля сфотографировала duck-face в новых модных очках в зеркало для своего друга Вани, и отправила ему картинку. Но она точно никак не хочет, чтобы тот показал её кому-то ещё, или опубликовал во ВКонтакте. Более того, желательно, чтобы он только разок посмотрел на картинку, а потом та бесследно исчезла.
Т.е. картинку нужно защитить от скачивания по ссылке, и, главное и сложное, от скриншота средствами устройства, на котором показывается — десктопа или смартфона.
Пока «придумал» только показывать анимацию: быстро менять по кругу несколько кадров, каждый содержащий фрагментарные точки картинки, в сумме, за счёт инертности человеческого зрения, создающих представление о картинке целиком. JS + canvas или webGL.
Понятно, что эти кадры можно сохранить по отдельности и совместить в фотошопе.
1) Делайте див, размером с картинку, в нем фоновым рисунком вставляйте картинку. В див img с прозрачным pix.gif и растягивайте img на весь див. Таким образом нельзя будет сохранить картинку тыкнув правой кнопкой и нажав "Save image as". Если нажать F12 и открыть developer tools то все конечно всплывет наружу и можно будет вытащить картинку. Поэтому мы переходим к ...
2) Одноразвый урл для картинки. Т.е. мы вставляем не site.ru/my.jpg а site.ru/getmyjpg?toket= Токен вы генерируете вместе с html кодом, а в обработчике getmyjpg проверяете его, инвалидируете (удаляете из БД) и этот урл перестает быть валидным. Т.е. если открыть девелопер тулс и скопировать упл до картинки, то он окажется уже не рабочим.
Правда это не спасет от того, чтобы скачать html без картинок, взять еще рабочий урл и скачать картинку. Но также это не спасет от того, чтобы снять скриншот или сфоткать экран на фотоаппарат. Так что в общем-то это приемлимый и, с моей точки зрения, максимально возможный уровень "усложнения скачки" картинки.
Почитал комментарии - вам предлагают решения, а ваши ответы сводятся к тому, что вы всем утверждаете, что они ничего не понимают, а ваше решение единственно верное.
двухкадровое мерцание на меом компе быстро – почти незаметно глазу. Выглядит как 50% прозрачность картинки над белым фоном. Этот эффект можно смягчить - описал в комменте вам выше.
Вот я и хочу найти новое, нераспосранённое и неизвестное всем решение от print screen'а.
@Yavanosta
1. мобильное видео же идёт, а тут ещё легче: N кадров по кругу, декодировать поток не нужно, всё в буфере;
2. пусть мерцает, это можно лишь сгладить отчасти подставляя в "пустых" кадрах не белый фон, а может, усреднённую яркость соседних пикселей (gaussian blur c большим радиусом);
3. можно передавать не три png файла, а проприетарный бинарный формат.
Никак. Любой человек с базовыми навыками верстальщика сможет её вытянуть. Даже если попытаетесь заблокировать правую кнопку мыши.
И действительно на самый худой конец, например если flash, есть print screen
@sergiks теоретически могло бы помочь. Но практически? Есть пример реализации? Напрашивается вопрос о кроссбраузерности и прозводительности. К тому же все равно можно достать части картинок, только чуть больше гемора.
пример (не мой). Как в любой защите, есть «стоимость» взлома, которая должна превышать разумный предел для большинства случаев. Большинство юзеров предполагаемого сервиса не гики-маньяки всё-таки.
Вы пытаетесь нарушить основной принцип, поделиться с кем-то чем-то и одновременно не делиться. Если Ваше изображение столь уникально, столь дорого - то зачем им делиться? Хотите его продать - найдите способ, сделайте маленькое превью, поделитесь куском или как-нибудь так. Если не хотите делиться с конкурентом, например, то Вы должны понимать риск - если Вы сами фотографируете товар - то миритесь с тем, что через пару дней кто-то может поставить себе это фото под видом собственного фото.
С таким же успехом можно стараться запретить кому-то перепечатывать Ваши тексты или певцу запрещать напевать людям его песни.
@AnDRUidale Допустим, что Ваня тормоз. Поскольку увидеть подружкин шедевр он может лишь 1 раз, то вряд ли будет снимать свой десктоп/телефон на другой телефон всякий раз, получив от неё очередной привет, но ещё не зная, что там.
1й способ защиты: картинка должна быть никому не нужна.
2й - картинка должна вызывать отвращение, а не симпатию
3й - уведомить человека о серьезной ответственности и неменуемом наказании
4й - проследить за просмотром самому
Нащупываю альтренативное решение для «исчезающих сообщений»: чел. получил сообщение/картинку, посмотрел в течение 10 секунд, и она бесследно исчезает из его телефона/браузера, стирается с серверов. Главное, отправляющий картинку, должен быть уверен в ее эфемерности и нераспостранении.