Как запретить посетителю сохранять картинки

Ко мне иногда обращаются люди, которые просят рассказать, как запретить посетителю сохранять картинки на их сайте. Действительно, бывают случаи, когда не хочется, чтобы Вашу уникальную картинку, над которой Вы работали, взяли и растащили на сотни сайтов. Но, увы, 100% эффективного способа для подобного запрета не существует. Всё, что можно сделать, это вынудить человека плюнуть на это изображение, немного усложнив ему задачу. Вот как это сделать, мы и обсудим в данной статье.
Есть 2 способа. Первый вообще очень простой, он состоит в использовании атрибута oncontextmenu, отвечающего за обработчик события по вызову контекстного меню:
<img src="image.jpg" alt="" oncontextmenu="return false;" />
Теперь пользователь не сможет вызвать контекстное меню правой кнопкой мыши и выбрать там "Сохранить изображение". Казалось бы, проблема решена, но нет. Во-первых, это работает не во всех браузерах, а, во-вторых, контекстное меню и вовсе не нужно, чтобы сохранить картинку. Можно просто перетащить левой кнопкой мыши картинку на новую вкладку, там она спокойно откроется и можно будет её сохранить. Как видите, данный способ спасёт только в некоторых браузерах, причём от самых новичков.
Второй способ значительно лучше, суть его состоит в том, что тега img нет вообще, следовательно, и сохранять нечего. А картинка выводится через CSS с помощью свойства background:
<div style="background: url('image.jpg') no-repeat; width: 100px; height: 100px;"></div>
Данный способ спасёт уже от всех, кто не знаком с самыми базовыми знаниями по HTML и CSS. Но данный подход плох с точки зрения оптимизации под поисковые системы. Всё-таки значимость атрибута alt у тега img никто не отменял. А также, кто захочет всё-таки вытащить картинку, тот увидит путь и пропишет его в адресной строке, тем самым, опять же, сохранив картинку.
Как видите, запретить посетителю сохранять картинки очень трудно, поэтому я всегда отвечаю на данный вопрос так: "Не бойтесь, что Вашу картинку кто-то возьмёт, главное, чтобы это было с пользой для Вас, поэтому делайте на картинке водяные знаки, например, с адресом Вашего сайта. Сделать это можно в Photoshop или Gimp.". Вот и всё, и тогда каждое воровство Вашей картинки будет означать увеличение посещаемости для Вашего сайта.
-
-
Михаил Русаков
Комментарии (4):
Спасибо! Полезно!
Ответить
Я придумал идеальный способ! <div style="background: url('image.jpg') no-repeat; width: 100px; height: 100px;"><img src="image.jpg" alt="Image" oncontextmenu="return false;" height="1" width="1"></div>
Ответить
я обычно скачиваю при таком случае картинку через прогу Teleport Pro точнее всю страницу...
Ответить
Вы не сможете запретить пользователю скачивать картинки. 1. Все картинки при просмотре странички автоматом уже СКАЧИВАЮТСЯ в кеш браузера где их свободно можно найти. 2. Даже если Вам удастся их там храинть частями и проч замороченымии способами, остается старый добрый PrtScr. Вывод- картинку можно защитить только водяным знаком, да и тот при "прямых руках" легко чистится. Особо меня умиляют люди, которые сами берут картинку из инета а потом мужественно пытаются ее защитить :))
Ответить
Для добавления комментариев надо войти в систему.
Если Вы ещё не зарегистрированы на сайте, то сначала зарегистрируйтесь.