|
Встала задача защитить изображения, которые показываются юзеру.
То, что можно выдрать из кэша - я в курсе и даже если поставить запрет на кеширование во всех заголовках, в некоторых браузерах есть такая фича, как принудительное кеширование... Это пофигу... Через хитрые схемы с сессиями и скрипты с подгрузкой изображений добился того, что: а) при сохранении страницы, картинки не сохраняются; б) пользователь не может получить адрес исходной картинки; в) блокировка контекстного мерю - это само собой; г) Ctrl - блочицца; и другие мелкие полезные фишки... ...но! остается PrintScreen, который даже не могу перехватить... Долго ковырялся в гугле и курил маны. Ничего путного не обнаружил. Собственно, сабж: существует ли какая-либо возможность хотя бы узнать о нажатии PrintScreen?
2
Андрей
имхо: вместо того, чтобы изобретать способы "дать увидеть и не дать сохранить" лучше работать в направлении "дать увидеть и сохранить но в таком качестве, которое позволяет только увидеть, а для работы малопригодно".
вариантов несколько - невысокое разрешение фотографий, водяные знаки, "тизеры", искусственный "шум" и т.д. комбинируя можно добиться вполне приемлемой "защиты от несанкционированного использования". при вашем же подходе это (опять-таки имхо) практически недостижимо. (это я еще молчу о перехвате событий нажатых кнопок в JS, который работает далеко не во всех броузерах, кстати)
3
Константин
#2 и #3
Изображения являются тестовыми материалами одного достаточно известного брэнда финансового, который хочет провести маркетинговое исследование через онлайн и заказал проект в нашей конторе. Требования у них такие... Типа: увидеть можно, но слить себе нельзя. Так что тут "водяные знаки" и тем более дерьмовое разрешение не варианты, т.к. изображение должно быть чётко различимым, а водяные знаки тут отпадают как минимум по двум причинам: а) важна концепция, а не сами изображения; б) тупо не позволят "коверкать" свои разработки; Вот и заморочка. Знаю, те, кому нужно, всё равно сольют и получат изображения: из того же кеша или тупо сфоткают на мобилу, но ..... раз заказчик требует, а объяснять им технические аспекты - самоубийство, надо что-то придумывать. Какие есть предложения? Весь мозг уже сломал... Дошёл даже до идеи, что для того, чтоб увидеть картинку, нужно зажать определенную клавишу и навести на область, где эта самая картинка должна появиться, а она подгружается аяксом через временные файлы на стороне сервера: - убираешь курсор - пропадает изображение; - пытаешься нажать PrintScreen - не позволяет комбинация из-за зажатой клавиши; - переключаешься на другую софтину - та же байда - изображение отгружается; Но это уже бред и никто на это не согласится из-за неудобств... Есть другие идеи, коллеги? )
4
Андрей
имхо - нужно или убеждать таких заказчиков или отказываться от сотрудничества.
5
Екатерина
Костя, ты занимаешься геморроем, на крайняк не затруднит никого зафотать фотиком картинку на мониторе. GD тебе в помощь да водные знаки прямо всю картинку их заливай, а то ещё бывают умники которые низ(как одно из самых попсовых мест размещения копирайтов) тупо урезают).
6
Константин
Гмм... Завтра буду додумывать и общаться с заказчиком. Может удастся им объяснить, что кому надо - тот всё равно сольёт, а от остальных оставить только "защиту от дурака", чтоб массово не потырили ничего.
7
Алексей
Угу. Тем более, PrtScr работает не на уровне браузера, чтоб её перехватывать. Перехватить, думаю, как и всё остальное, можно. Но тока из exe или dll. То есть можно заняться жестью - установите плагин и смотрите... но надо ли вам это?
Тогда уж проще сделать программу на c++. а программно снять картинку "с монитора" весьма несложно, как уже сказали, и без принтскринов. (если уж это я видел в самых примитивных уроках по графическому winapi) Скрывать адрес... но в браузерах существует такая штука, как лог вызовов и хоть как прячьте, но раз скрипт картинку грузит, адрес он запомнит. Существуют отладчики js. Существуют программы-сниферы трафика (http debugger), работающие как драйвер... Можно через проксю трафик пускать и логировать все запросы со всеми заголовками, что вы даже потом не узнаете, истинный был запрос или скопированный. И это далеко не всё) Делать защиту в браузере на js - пустое. Только от дурака и можно.
8
Константин
Да я то всё это понимаю, к счастью. Проблема в том, как это заказчику втолковать и создателям так называемого "Кодекса ESOMAR"... А тут лишь задавался вопросом, как максимально защитить контент от большинства рядовых пользователей.
Думаю, что сойдёмся на "защите от дурака", ибо на большее js и иже с ним не способны.
9
Алексей
большинство рядовых пользователей не знают о принтскрине, как говорит мне практика =D
10
Андрей
вопрос не в этом, вопрос в том, что эффективность любой защиты от копирования информации (любой) всегда под вопросом. просто в силу ее природы ...
если кто-то публикует информацию, то пусть просто смирится с тем, что она может быть трансформирована и использована кем-то в своих целях. и никакие ухищрения этому не воспрепятствуют. (я до сих пор не совсем понимаю что такого может публиковать эта ассоциация...)
11
Дмитрий
Написать ActiveX компонент для просмотра изображений. В него встроить блокировку принтскрина и других скринкапчеров. Также нужно заблокировать запуск этого компонента в вмваре.
12
Алексей
> других скринкапчеров
легко сказать)) рабочий стол со всем этим доступен через gdi без всяких принтскринов. Нуу... запросы и трафик мы тоже легко получаем... то есть надо и шифрование пихать, и рисовать в видеопамять... но слишком жестко=) Всё, что выложено в интернет, копируется с той или иной степенью сложности и ничего с этим не поделать... на крайний случай, как сказали, есть и непрограммные методы копирования... А то, что оно всё это перехватывает и блочит... Ну, подозреваю, некоторые антивирусы обзовут его как-то: win32.Trojan.Blocker, win32.Trojan.KeyLogger =D Да и активех, вроде, только для ослика катят...
13
Дмитрий
#13 задача защитить изображение, а не поддержка всех платформ, браузеров и систем. Единственный способ, который остается, это снимок фотоаппаратом.
14
Константин
всем пасиба... есть над чем подумать, буду насиловать мозг)
15
Алексей
Дмитрий Рябко
Не согласен) далеко не единственный=3 Ну да неважно ^^ рад, если идеи какие-то будут полезны=)
17
Павел
>http://http://www.copysafe.net/ развеет ваши сомнения
возможно это развеет ваши сомнения http://http://habreffect.ru/files/ca7/891417246/copysafe.png это из первого примера, если покопаться можно и остальное вытянуть. а вообще это гениальная конечно система, "установи себе фиг знает что, чтобы оно еще и мешало".
18
Алексей
у меня хром, потому проверить не могу ^^;
А фф ставить лень ^^'
19
Дмитрий
#18 мне нравится ваш оптимизм) вы бы очень нам помогли, если бы озвучили свой метод
20
Александр
Народ, не тупите. Если человеку эта гребаная картинка действительно нужна - он ее себе возьмет, поверьте, есть даже методы, основанные на железе, а не на софте (видеорипперы например). Такую защиту сделать даже в теории невозможно, вы уже ее показали пользователю - считайте, она у него уже есть.
Если испаганить картинку - тоже не поможет! Пара минут в фотошопе - и никаких проблем. Хотя есть совсем идиотский способ. Просто зарегистрировать под авторские права специальные (я не юрист, не очень в этом разбираюсь) эти картинки. Правда, это скорее на психологии основано - знающий человек все равно сопрет (и не только знающий, упрямый, как баран тоже сопрет) |


Денис
Обычно изображения просто помечают и этого достаточно.
А сделать скриншот можно и без кнопки PrintScreen.