Вебмастеру

 
 
20

PrintScreen - как перехватить нажатие или заблокировать? Это вообще возможно?

  • Категория: html
Встала задача защитить изображения, которые показываются юзеру.

То, что можно выдрать из кэша - я в курсе и даже если поставить запрет на кеширование во всех заголовках, в некоторых браузерах есть такая фича, как принудительное кеширование... Это пофигу...

Через хитрые схемы с сессиями и скрипты с подгрузкой изображений добился того, что:
а) при сохранении страницы, картинки не сохраняются;
б) пользователь не может получить адрес исходной картинки;
в) блокировка контекстного мерю - это само собой;
г) Ctrl - блочицца;
и другие мелкие полезные фишки...

...но! остается PrintScreen, который даже не могу перехватить... Долго ковырялся в гугле и курил маны. Ничего путного не обнаружил.

Собственно, сабж: существует ли какая-либо возможность хотя бы узнать о нажатии PrintScreen?
 
 
1

Денис

  • группа: Гости
А что за такие "элитные" изображения?
Обычно изображения просто помечают и этого достаточно.

А сделать скриншот можно и без кнопки 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
Ну да неважно ^^

рад, если идеи какие-то будут полезны=)
 
 
16

Дмитрий

  • группа: Гости
http://http://www.copysafe.net/ развеет ваши сомнения
 
 
17

Павел

  • группа: Гости
>http://http://www.copysafe.net/ развеет ваши сомнения
возможно это развеет ваши сомнения http://http://habreffect.ru/files/ca7/891417246/copysafe.png

это из первого примера, если покопаться можно и остальное вытянуть.
а вообще это гениальная конечно система, "установи себе фиг знает что, чтобы оно еще и мешало".
 
 
18

Алексей

  • группа: Гости
у меня хром, потому проверить не могу ^^;

А фф ставить лень ^^'
 
 
19

Дмитрий

  • группа: Гости
#18 мне нравится ваш оптимизм) вы бы очень нам помогли, если бы озвучили свой метод
 
 
20

Александр

  • группа: Гости
Народ, не тупите. Если человеку эта гребаная картинка действительно нужна - он ее себе возьмет, поверьте, есть даже методы, основанные на железе, а не на софте (видеорипперы например). Такую защиту сделать даже в теории невозможно, вы уже ее показали пользователю - считайте, она у него уже есть.
Если испаганить картинку - тоже не поможет! Пара минут в фотошопе - и никаких проблем.

Хотя есть совсем идиотский способ. Просто зарегистрировать под авторские права специальные (я не юрист, не очень в этом разбираюсь) эти картинки. Правда, это скорее на психологии основано - знающий человек все равно сопрет (и не только знающий, упрямый, как баран тоже сопрет)
 
 
Регистрация

Популярные статьи

» Mozilla Firefox: помощь и взаимоподдержка. Спрашиваем, ...
» Вопросы от новичков...
» перешли ли вы 100% на линукс без установленной параллел ...
» Ваши любимые плагины и дополнения
» Ответы на вопросы по PHP
» Какие CMS ВЫ предпочитаете - (плюсы и минусы)
» FAQ: вопросы и ответы
» Вопросы и консультации
» Другие браузеры (голосование!)
» Зарплата PHP программиста