Как сделать ограничение, чтобы пользователь мог посмотреть картинку только один раз и не мог её сохранить?

Есть визуальный материал его нужно показать человеку, но что бы он мог только раз его посмотреть, а сохранить скачать не мог, как или чем можно сделать? Может с помощью одноразового пароля, или не знаю ... чего-нибудь в этом духе.
  • Вопрос задан
  • 693 просмотра
Решения вопроса 1
Ждите внедрения DRM защиты для изображений и поддержки ее в браузерах, других выходов нет, все что пользователь увидел на странице возможно и сохранить и увидеть еще раз. Любой самый хитрый способ обломится от фотоаппарата перед монитором)))
Ответ написан
Пригласить эксперта
Ответы на вопрос 7
alexey-m-ukolov
@alexey-m-ukolov Куратор тега Веб-разработка
В вебе "показать" означает "отправить на устройство пользователя". Поэтому, ваша задача решения не имеет.
Вы можете осложнить процесс выдирания картинки, но любой, кто умеет нажимать в браузере F12 всё равно сможет её скачать.
Помимо этого встаёт вопрос идентификации пользователя - как узнать, что он уже посмотрел изображение? Самое простое - писать в куки или сессию, но у них ограничен срок жизни. Да, есть evercookie, но куками, вдобавок, можно манипулировать. Следовательно, нужен какой-то другой механизм. Если картинки доступны только зарегистрированным пользователям, то можно идентифицировать их так и писать информацию о просмотре в БД. Но если доступ к ним не ограничен авторизацией, то вы либо будете выдавать картинку одному клиенту несколько раз, либо не будете выдавать её каким-то клиентам вообще, поскольку определение по ip и юзерагенту очень ненадёжно.

Это, что касается картинок в вакууме. А теперь опишите задачу максимально конкретно, чтобы мы могли посоветовать решение, которое будет работать наиболее надёжно (с учётом перечисленных выше ограничений).
Ответ написан
risentveber
@risentveber
fullstack web developer
Большинство пользователей в интернете уже не сможет скачать картинку, если вы вставите ее как фоновое изображение какого-либо элемента - например div'a. По крайней мере при щелчке на элементе правой кнопкой мыши в выпадающем меню такого пункта не будет.
Ответ написан
Комментировать
Можно поставить поверх картинки прозрачный div. А при нажатии F12 или правой кнопкой мыши отловить событие и перезагрузить страницу. После перезагрузки картинку больше не показывать.
Ответ написан
sabramovskikh
@sabramovskikh
1) Перевести изображение в canvas, будет уже сложнее его сохранить
1.1) Разбить картинку на сотню маленьких картинок и выстраивать их в нужном порядке. Наврятли кто-то станет заморачиваться их сохранять или склеивать.
2) Использовать одноразовые ссылки. Сгенерировали ссылку с контентом отдали пользователю, при входе на страницу ссылка удаляется и вход на нее запрещается
p.s. Preen Screen хорошо обойдет вашу защиту
Ответ написан
Комментировать
xmoonlight
@xmoonlight
https://sitecoder.blogspot.com
На текущий момент единственное решение:
Проприетарный (закрытый) клиент с "зашитым" токеном внутрь с запросом контента с сайта. После того, как однократно прошла демонстрация - ставим на сервере флаг: "просмотрено" и при последующих запусках больше не возвращаем контент.
Ответ написан
Комментировать
CityCat4
@CityCat4
Внимание! Изменился адрес почты!
Господа, сразу видно, что вы программисты, а не админы :) Все будет зависеть от ценности информации. Есть такая штука как прокси, которая все равно хранит картинку у себя в кэше - а файл картинки в кэше можно найти, обрезать заголовки и переименовать, хоть это и сложно. Можно специального клиента написать - который будет прикидываться честным просмотрищиком, а сам картинку сохранять на диск.
Никто не помнит такой формат - RealAudio? Давно это было... Один из первых встраиваемых форматов, который теоретически тоже нельзя было скачать. И что - написали клиента, который типа плейер, а на самом деле сохранял файло на диск.
Для FF полно плагинов, которые сохраняют на диск видео с сайтов, с которых как бэ его нельзя сохранить. Для, это все не рассчитано на хомячков, но автор и модель нарушителя не предоставил - кому он будет эт у картинку демонстрировать - бухгалтерам или админам.
Ответ написан
asilonos
@asilonos
Программист
А подойдет ли такой вариант:
- Выслать заказчику USB flash drive который зашифрован и чтобы его посмотреть надо ввести пароль и в специальной программе можно будет посмотреть пару раз Картинки. Но их невозможно будет сохранить (только экран сфоткать, т.к. функция Скриншота в этот момент будет заблокирована в ПК).
- Опционально через XX дней эту флешку уже можно выкинуть ну либо отдать крипто-аналитикам чтобы они за 5000 usd поковырялись неделю с этой флешкой, чтобы открыть данные.
Если подходит даю ссылку , но софт платный:)
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы