Перейти до вмісту
Пошук в
  • Детальніше...
Шукати результати, які ...
Шукати результати в ...

Защита фотографий для OpenCart


halfhope

Recommended Posts

Приведу пример самой простой защиты фотографий от копирования без динамической отдачи файлов, флеш контейнеров и всего прочего. 

 

  1. Ставим запрет нажатия правой кнопки мыши по фотографиям
  2. Ставим заглушку для тех случаев, если нашу фотографию пытаются вставить прямой ссылкой на какой-нибудь ресурс (Хотлинк).
  3. Ставим водяные знаки.

 

Все сделано на примере магазина http://hairshining.ru/. Конечно, для опытных пользователей достать фотографию не составит труда.

 

1. Запрет нажатия правой кнопки мыши.

 

В файл "catalog/view/theme/default/template/common/header.tpl после загрузки JQuery вставляем код:

<script>
	$(document).ready(function(){
		var images = $('img');
		$(images).each(function(index, elem){
			elem.oncontextmenu=function(){return false}
		});
	});
</script>

После вставки этого кода при нажатии правой кнопки мыши на фотографии ничего не произойдет.

 

2. Заглушка.

 

Заглушка ставится на уровне сервера, с помощью настройки файла .htaccess или nginx.conf. Код, который необходимо вставить в .htaccess:

RewriteCond %{HTTP_REFERER} !^$
RewriteCond %{HTTP_REFERER} !^http://(.+\.)?server\.ru/ [NC]
RewriteCond %{REQUEST_URI} !null\.gif$ [NC]
RewriteRule \.(jpg|jpeg|gif|bmp|png)$ http://i.imgur.com/qX4w7.gif [L]

То же самое для nginx.conf:

location ~* ^.+\.(jpg|jpeg|gif|png)$ {
     root /path/to/root;
     valid_referers none blocked server_names ~\.server1\. ~\.server2\.;
     if ($invalid_referer) {
       rewrite ^ http://i.imgur.com/qX4w7.gif last;
     }
   }

Теперь при каждом обращении к файлу изображения сервер будет проверять с какого сайта пытаются загрузить изображение. Если не с Вашего, то подставляет изображение http://i.imgur.com/qX4w7.gif. Пример работы посмотреть можно здесь. Примечание: я понятия не имею как это будет работать с поисковыми системами. Если кто-нибудь объяснит, буду рад и добавлю сюда.

 

3. Водяные знаки. 

 

3.1 Варианты с модулями для OpenCart.

 

За то время пока работал с OpenCart встречал два типа модулей для нанесения водяных знаков. Одни ставят водяной знак на оригинал изображения при его загрузке на сервер через админку. Но не будут обработаны изображения, которые были загружены через FTP. Вторые добавляют водяной знак только при обработке изображения контроллером tool/image.

 

Мой выбор пал на второй тип модулей, т.к. он не изменяет оригиналы изображений и будут обработаны все изображения, даже которые были загружены через FTP. Из минусов стоит отметить, что без водяных знаков остаются оригиналы. Если добавить немного конкретики, то мне очень понравился модуль is.Watermark, в нем множество настроек, с помощью которых можно настроить водяные знаки под каждый проект. 

 

3.2 Варианты без модулей

 

Здесь будут предложены варианты защиты фото еще до загрузки на сервер или еще до того, как фотографии были сделаны.

 

Водяные знаки на фото можно добавить с помощью десктопных программ FastStone Photo Resizer (Freeware) и Adobe Photoshop.

 

Если Вы сами делайте фотографии товаров для интернет-магазина, то можно положить карточку с названием магазина и фотографировать вместе с ней. Пример можно посмотреть на сайте http://vapemarket.ru/. Либо придумать что-нибудь более оригинальное.

Надіслати
Поділитися на інших сайтах

1. вотермарков мало, так как подставить урл без ресайза - не проблема.

2. запрет нажатий обходится даже школьником, умеющим гуглить

3. заглушка на сервере работает только от ссылок с чужих сайтов а не от скачивания в браузере.

 

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

Надіслати
Поділитися на інших сайтах

1. вотермарков мало, так как подставить урл без ресайза - не проблема.

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

Вовсе нет. Это легко лечится .htaccess-ом в папке исходников фото. Я и в репо ocStore кажется это когда-то очень давно коммитил.

https://opencartforum.com/topic/6503-kak-skryt-originalnye-kartinki/?do=findComment&comment=40920

Надіслати
Поділитися на інших сайтах


Идея не стоит потраченного времени, нечем заняться ;) ?

 

Ровно 2 секунды под спойлером
И прекрасно парситься и качается из браузера с localhost

Если картинка показывается в браузере, спионерить её очень легко

 

А при помощи google, вообще элементарно

 

https://www.google.com.ua/search?q=site:www.hairshining.ru&client=firefox-a&hs=XEU&rls=org.mozilla:ru:official&channel=sb&source=lnms&tbm=isch&sa=X&ei=vkkDVOHUAoLIyAOs9oKgCw&ved=0CAgQ_AUoAQ&biw=1618&bih=606

 

_2.jpg

Надіслати
Поділитися на інших сайтах

Какая именно идея?

Закрыть через access доступ из мира для исходников и отдавать только с вотермарками ?

Если на серваке Nginx то надо немного побольше движений сделать :(

Надіслати
Поділитися на інших сайтах


Мне хостер вот что ответил

 

На наших серверах используется схема работы, при которой запросы к статичным файлам (в частности, .jpg) обрабатываются с помощью Nginx, а остальные запросы передаются Apache. Поэтому файл .htaccess не может использоваться для отключения доступа к статическим файлам, так как он обрабатывается только на уровне Apache.

Для решения вопроса рекомендуется использовать следующий вариант:
- в скриптах сайта можно использовать ссылки на файлы, которые физически отсутствуют (например, для файлов на сервере использовать формат .jpgx);
- осуществлять перенаправления с таких файлов на существующие при помощи .htaccess.

При использовании описанного способа запрос будет обрабатываться Apache, и ограничения в .htaccess будут вступать в силу.

Надіслати
Поділитися на інших сайтах


Мне хостер вот что ответил

 

На наших серверах используется схема работы, при которой запросы к статичным файлам (в частности, .jpg) обрабатываются с помощью Nginx, а остальные запросы передаются Apache. Поэтому файл .htaccess не может использоваться для отключения доступа к статическим файлам, так как он обрабатывается только на уровне Apache.

Для решения вопроса рекомендуется использовать следующий вариант:

- в скриптах сайта можно использовать ссылки на файлы, которые физически отсутствуют (например, для файлов на сервере использовать формат .jpgx);

- осуществлять перенаправления с таких файлов на существующие при помощи .htaccess.

При использовании описанного способа запрос будет обрабатываться Apache, и ограничения в .htaccess будут вступать в силу.

Да это работает, но не в случае опенкарта :)

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

Надіслати
Поділитися на інших сайтах


И минус антихотлинка - вы с большой долей вероятности вылетите из серпов по имидж запросам + на вас халявные ссылки уже не проставить таким образом.

Надіслати
Поділитися на інших сайтах


  • 1 month later...

Мной было принято следующее решение, загружать фото уже с защитой/вотермарк, уже встречались идиоты которые тыряли фото и выкладывали на аукро/olx.ua

Надіслати
Поділитися на інших сайтах


  • 1 year later...

Так а смысл первого пункта? Если кликаешь на картинку, она увеличивается "фенсибокс" и правая кнопка опять нажимается?
Как сделать чтобы через фенсибокс правая кнопка тоже не нажималась? 
Хотя, опять же, кликни на любое другое место и в консоли можно посмотреть путь картинки и по этому пути перейти и скачать(

Надіслати
Поділитися на інших сайтах


Так а смысл первого пункта? Если кликаешь на картинку, она увеличивается "фенсибокс" и правая кнопка опять нажимается?

Как сделать чтобы через фенсибокс правая кнопка тоже не нажималась? 

Хотя, опять же, кликни на любое другое место и в консоли можно посмотреть путь картинки и по этому пути перейти и скачать(

 

Какая-никакая, а защита. Если злоумышленнику придется замедлится, то цель оправдывает средства. Но тут опять же все относительно, в меру своего жизненного опыта. Так же я писал ранее:

 

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

 

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

Змінено користувачем halfhope
Надіслати
Поділитися на інших сайтах

  • 3 weeks later...

 

Какая-никакая, а защита. Если злоумышленнику придется замедлится, то цель оправдывает средства. Но тут опять же все относительно, в меру своего жизненного опыта. Так же я писал ранее:

 

 

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

Я сделал просто через pointer-events:none

Действительно, кому надо, тот я думаю найдет способ скачать картинку, та и в конце концов картинки-то не на продажу.

Надіслати
Поділитися на інших сайтах


  • 2 months later...

Товарищи, а как защитить директорию исходников картиной, т.е. /image/catalog/products/ (в моем случае)? Пробовал через htaccess, но там не работает ни filematch, ни file, ни basic auth. Именно не работают для jpg.

 

Полагаю, что дело в сточке в htaccess в корне OC:

RewriteCond %{REQUEST_URI} !.*\.(ico|gif|jpg|jpeg|png|js|css)

Которая рерайтит все запросы к указанным файлам.

 

Как бы сделать так, чтобы и тут ничего не сломать, и директорию защитить средствами Apache?

Змінено користувачем Mysha
  • +1 1
Надіслати
Поділитися на інших сайтах


Вся эта канитель в надежде, что "зажав" контент от копирования и распространения мы сделаем магазин привлекательным для ПС и/или покупателей?

Типа, сайт у меня хороший. Был. Но картинки с него потырили и теперь продаж нет совсем? :-D

Надіслати
Поділитися на інших сайтах


Все эти телодвижения, чтоб не сделать привлекательнее сайты конкурентов. Я с этим столкнулся уже, когда потырили с прома мои авторские фото товаров (а они реально лучшие "по рынку"). Для нового не-пром.уа магазина буду переснимать теперь. И заливать уже сразу с вотермарками, благо на постообработке (а она неизбежна все равно) вотемарки лепятся в 3 клика.

Змінено користувачем chamaerops
Надіслати
Поділитися на інших сайтах


Типа это если вы тратите день на 20 фотографий, и уж тем более, платите фотографу 1500 рублей в час без постобработки. Хотите потом, чтобы тыщенка фото, которая влетела 200 тысяч рублей, появилась на всех говносайтах, у ряда конкурентов, авито, а потом еще черт знает где с чужими копирайтами? А если вы сами все это уперли, и ставите растиражированные по всему инету 300-пиксельные пережатые JPG, то смысла, конечно, не имеет.

Змінено користувачем Mysha
  • +1 1
Надіслати
Поділитися на інших сайтах


Типа это если вы тратите день на 20 фотографий, и уж тем более, платите фотографу 1500 рублей в час без постобработки. Хотите потом, чтобы тыщенка фото, которая влетела 200 тысяч рублей, появилась на всех говносайтах, у ряда конкурентов, авито, а потом еще черт знает где с чужими копирайтами?

именно так. Фото свои, авторские. В моём случае, даже намного более качественные, чем фото от производителя.
  • +1 1
Надіслати
Поділитися на інших сайтах


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

И тем не менее.

Если я когда-то поставлю вотермак на фотку, то пусть меня покарает суровая рука моих веб-коллег и товарищей. :-D

 

Водяной знак реально портит картинку. И вообще,  имхо, как-то мелочно - это интернет, в конце концов.

Змінено користувачем florapraktik
Надіслати
Поділитися на інших сайтах


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

И тем не менее.

Если я когда-то поставлю вотермак на фотку, то пусть меня покарает суровая рука моих веб-коллег и товарищей. :-D

 

Водяной знак реально портит картинку. И вообще,  имхо, как-то мелочно - это интернет, в конце концов.

У вас уже воровали фото? 

Если нет, то тогда у вас есть хорошие шансы прочувствовать, каково это. И поверьте, чувство обиды от этого будет сильнее, чем сожаление о том, что покупатели вынуждены смотреть на фото с вотермарками. Просто когда ты вкладываешь в фотосьемку несколько нелишних сотен долларов и собственные человеко-часы, то потом крайне больно видеть, когда у тебя слямзили ТВОИ фото и налепили на них СВОИ вотермарки.

 

З.Ы, Если честно, у меня для ряда конкурентов, стыривших мои фото, в углу стоит маленький топорик, который я начну точить, как освободится для этого время. Оригиналы фото (RAW) у меня есть, и придет время, я будут бить по ним как с юридической стороны, так и с технической... Ибо нефиг..

Надіслати
Поділитися на інших сайтах


Я сделал аккуратный кольцевой копирайт с прозрачностью 30%. Шрифт серым цветом. Он позволяет видеть все детали на фото не бросается в глаза. И в 80% случаев продукт помещается внутрь кольца и только некоторые детали попадают на кольцо.

  • +1 1
Надіслати
Поділитися на інших сайтах


Створіть аккаунт або увійдіть для коментування

Ви повинні бути користувачем, щоб залишити коментар

Створити обліковий запис

Зареєструйтеся для отримання облікового запису. Це просто!

Зареєструвати аккаунт

Вхід

Уже зареєстровані? Увійдіть тут.

Вхід зараз

×
×
  • Створити...

Important Information

На нашому сайті використовуються файли cookie і відбувається обробка деяких персональних даних користувачів, щоб поліпшити користувальницький інтерфейс. Щоб дізнатися для чого і які персональні дані ми обробляємо перейдіть за посиланням . Якщо Ви натиснете «Я даю згоду», це означає, що Ви розумієте і приймаєте всі умови, зазначені в цьому Повідомленні про конфіденційність.