Запретить посетителю сохранять изображение с моего сайта

StackOverflow https://stackoverflow.com/questions/21437

  •  09-06-2019
  •  | 
  •  

Вопрос

Каковы эффективные стратегии предотвращения использования моих собственных изображений?

Я говорю об их сохранении, прямых ссылках на них и т. д.

Сейчас у меня есть водяной знак на изображении, но я бы предпочел этого не делать.

Предпочтительна платформа .NET, но если есть стратегия на другой платформе, которая интегрируется с моим существующим приложением, это будет бонусом.

Это было полезно?

Решение

Невозможно сделать загрузку «невозможной».Когда пользователь посещает ваш сайт, вы отправляете ему фотографии.У пользователя будет копия этого изображения в кеше браузера, и он сможет получить к нему доступ даже после того, как покинет сайт (конечно, в зависимости от браузера).Ваш единственный реальный вариант - поставить на них водяные знаки :O

Другие советы

Вы можете встроить каждое изображение во флэш-приложение, тогда браузер не будет знать, как «сохранить» изображение, а также не будет хранить необработанный jpg в папке кеша.Они по-прежнему могли бы просто нажать клавишу печати экрана, чтобы получить копию изображения, но этого, вероятно, было бы достаточно, чтобы остановить большинство посетителей.

Response.WriteBinary(), встроенный Flash, хаки JavaScript, скрытые элементы div.

За прошедшие годы я видел и пробовал все возможные способы защиты изображения и пришел к одному выводу:Если это можно увидеть онлайн;его можно взять, друг мой.

Итак, что вам действительно следует учитывать, какова на самом деле будет конечная цель этого действия.Предотвратить пиратство?Если грубый и слишком большой водяной знак вам не по вкусу, вы всегда можете встроить скрытые данные (в Apress была статья, которая выглядела многообещающе на цифровая стеганография) в изображениях, чтобы позже идентифицировать их как свои собственные.Вы можете предлагать только изображения уменьшенного или более низкого качества.

Flickr использует подход, заключающийся в размещении прозрачного слоя GIF поверх изображения, поэтому, если вы не вошли в систему и щелкните правой кнопкой мыши, вы получите их просто потрясающие изображения. космический мяч.gif.Но ничто не может помешать сделать скриншот, кроме как просто не предлагать картинку.

Если бы музыкальная индустрия могла заставить вас слушать всю вашу музыку, не копируя и не владея файлами, они бы это сделали.Если бы телевидение могло вести трансляцию и быть уверенным, что никто не сможет хранить копию актерского состава, оно, вероятно, тоже бы это сделало.Это неудачная часть обмена медиа с общественностью.Действительно хороший вопрос здесь заключается в том, как вы можете защитить свой материал, НЕ мешая уважаемым пользователям использовать ваши изображения.Установите слишком большую защиту, и никто не будет заходить на ваш сайт или использовать ваше программное обеспечение (лично, если вы попытаетесь отключить мою мышь, я почти мгновенно перейду от хорошего пользователя к плохому).

использование JavaScript для переопределения события щелчка является наиболее распространенным, что я видел...

видеть: http://pubs.ologicalexpressions.com/pub0009/LPMArticle.asp?ID=41

Думаю, я мог бы также вставить свои два цента.

Ни один из вышеперечисленных методов не сработает, за исключением, пожалуй, водяного знака.

Куда бы я ни пошел, я могу нажать «Print Screen» на своем компьютере, вставить его в графический редактор и, немного обрезав, получить ваше изображение.

Единственный способ решить проблему с водяными знаками — использовать инструменты Photoshop для удаления водяных знаков.На этом этапе, я думаю, большинство людей просто сдались бы и заплатили бы вам за ваш контент или, как минимум, ограбили бы кого-нибудь другого.

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

Это просто невозможно.Есть всегда кнопку Принтскрин.

Все, что отображается, можно запечатлеть.

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

к сожалению, вы всегда можете сделать снимок экрана браузера и обрезать изображение, не идеально, но это обходит почти все решения, опубликованные здесь :(

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

Но, как все говорили, если они это видят, они могут это схватить.

На самом деле вы не можете, если только вы не хотите, чтобы они это увидели.Вы можете использовать JavaScript, чтобы поймать щелчок правой кнопкой мыши, но на этом все.

Еще мысль, можно было бы вставить во флэш, но опять же, могли бы просто сделать скриншот.

Извини.Это невозможно.Все, что вы можете сделать, это сделать его неудобным в стиле Flickr.

Это просто невозможно.Всегда есть кнопка PrintScreen.

Я помню тестирование ИзображениеЗаморозить много лет назад.Он использовал Java-апплет для получения и отображения изображений.Данные изображения и соединение были зашифрованы, а незашифрованное изображение не хранилось во временной папке или даже в кеше Java.

Кроме того, апплет постоянно очищал клипбрд Windows, поэтому Print Screen не работал.

Он работал довольно хорошо, но имел некоторые недостатки.

Помимо требования Java, JS, в который встроен апплет (и, возможно, сам апплет), был настроен так, чтобы не загружаться должным образом в любом браузере, который не предоставлял доступ к клипбрду Windows.Это означало, что он работал только в IE и только в Windows.

Кроме того, интервал, который апплет использует для очистки clipbrd, можно сократить с помощью действительно быстрого Print Screen и сочетания клавиш Ctrl+V в Gimp.Печать экрана другими способами тоже подойдет.

Окончательно, Джад мог декомпилировать апплет и все/большую часть его файлов.Итак, если вам действительно нужны фотографии, вы можете покопаться в источнике, чтобы выяснить, как они это сделали.

Короче говоря, вы можете изо всех сил стараться остановить множество людей, но юзабилити снижается, и всегда будет способ получить изображение, если посетитель сможет его увидеть.

Все, что вы отправляете клиенту, находится на клиенте.Вы мало что можете с этим поделать, кроме как сделать что-то среднее между «довольно сложно» и «довольно сложно» сохранить изображение.

Я должен сказать, что начало, что практически невозможно остановить скопированные изображения или текст, но затруднение этого позволит большинству пользователей красть контент.В этой статье я дам более простой, но эффективный способ защиты изображений с помощью HTML/CSS.Мы возьмем на это очень простой способ ... во -первых, в Div мы поместим изображение с данной высотой и шириной.(Скажем, 200 х 200)

Теперь мы можем разместить еще одно прозрачное изображение с той же высотой и шириной и дать ему маргин -200.Так что это будет перекрывать фактическое изображение.И когда пользователь попытается скопировать это, он только получит прозрачную GIF ...

    <div style=”float: left;”>
<img src=”your-image.jpg” style=”width: 200px;height: 200px;”/>
<img src=”the-dummy-image.png” style=”border: 0px solid #000; width: 200px; height: 250px; margin-left: -200px; ” />
</div>
Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top