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

Защита изображений


Recommended Posts

Тільки що, Andrylomakin сказав:

Кешированные изображения с водяным знаком обойти легко. 

Накладывайте водяной знак перед загрузкой или при загрузке фото

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

32 минуты назад, Andrylomakin сказал:

Я думал есть варианты по интересней :-D

 

Не занимайтесь этой чухней!

Какая Вам выгода делать лишний труд, так называемо, защищая свои картинки?

По мне - так правильное русло и направляющая - это концетрироваться на своих продажах.

Подумайте о своих покупателях, которым смотреть на товаре всякое г...

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


1 час назад, specialforce22 сказал:

 

Не занимайтесь этой чухней!

Какая Вам выгода делать лишний труд, так называемо, защищая свои картинки?

По мне - так правильное русло и направляющая - это концетрироваться на своих продажах.

Подумайте о своих покупателях, которым смотреть на товаре всякое г...

Кто-то получает фото бесплатно от поставщика, а некоторым выходит фото в пару тысяч баксов.
Нет желания делать подарки конкурентам.

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


2 минуты назад, Andrylomakin сказал:

Кто-то получает фото бесплатно от поставщика, а некоторым выходит фото в пару тысяч баксов.
Нет желания делать подарки конкурентам.

 

Конечно, такое чувство и мне знакомо))

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

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


2 часа назад, Andrylomakin сказал:

Подскажите кто как защищает оригиналы ? 
Кешированные изображения с водяным знаком обойти легко. 

Это как?

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

Если вас интересует траф с картинок, то Г не рекомендует картинки с ватермарком

 

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

В 31.01.2020 в 12:46, Andrylomakin сказал:

Нет желания делать подарки конкурентам.

 Это интернет. настройте свои ожидания и мышление соответствующим образом.

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


  • 3 months later...

День добрый всем! Собственно тоже беспокоит этот вопрос, немного с другой стороны. Защита нужна от парсеров, а также нужно закрыть возможность, публиковать фото размещенные на моем хосте по прямой ссылке на сторонних ресурсах. Собственно только ради желания убрать ненужную нагрузку на хост и слегка усложнить жизнь редизайнерам.

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


5 часов назад, matvens сказал:

а также нужно закрыть возможность, публиковать фото размещенные на моем хосте по прямой ссылке на сторонних ресурсах.

https://www.hostinger.ru/rukovodstva/kak-vkluchit-zashitu-ot-khotlinking

https://ktonanovenkogo.ru/vokrug-da-okolo/webmaster/zapreshhaem-xotlink-hotlink-v-apache-nginx-zashhitit-kartinki.html

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

А дополняя вопрос о защите оригинального каталога, может его переименовать (сгенерировать, что хрен угадаешь)? А потом изменить везде catalog на ваше имя.

Я правда не знаю как это в opencart устроено, если обработка происходит в одной месте и передается дальше, то изменить там + поправить в БД для уже существующих фото и готово.

Или все не так радужно, и многое к этому "image/catalog" привязано и вызовет конфликты?

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


Оригинальные картинки могут находится там где и находятся

А путь к неоригинальным т.е. к кешу можно изменить

Оригинальная

image/catalog/image/dir1/image.jpeg

 

Отресайзенная
image/cache/catalog/50-50/a0/ao345/image.jpeg

image/cache/catalog/100-100/a0/ao345/image.jpeg

image/cache/catalog/220-220/a0/ao345/image.jpeg

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

23 минуты назад, chukcha сказал:

Оригинальные картинки могут находится там где и находятся

А путь к неоригинальным т.е. к кешу можно изменить

Оригинальная

image/catalog/image/dir1/image.jpeg

 

Отресайзенная
image/cache/catalog/50-50/a0/ao345/image.jpeg

image/cache/catalog/100-100/a0/ao345/image.jpeg

image/cache/catalog/220-220/a0/ao345/image.jpeg

 

Эм может мы не до конца все вводные прояснили.

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

Оригиналы же (в image/catalog) хранятся чистые, т.к. они нужны для отдачи фидов в тот же Merchant Center, Hotline, Rozetka и тд (где с ватермарками их отклонят). Вот было бы хорошо скрыть эти оригиналы, которые доступны при базовом знании работы opencart и вытягиваются просто сменой URL.

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

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

А в текущем виде - бери не хочу.

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


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

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

В 02.06.2020 в 17:10, matvens сказал:

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

:blink:

Столько сайтов ссылаются на ваши картинки, что это создаёт значимую нагрузку на Ваш сервер?

Есть народная примета, что ссылки, - это хорошо для трафика.

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


52 минуты назад, chukcha сказал:

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

 

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

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

 

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


1 минуту назад, igorekioo сказал:

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

К сожалению, да

 

 

2 минуты назад, igorekioo сказал:

Теперь бы только кто взялся обернуть это все в код.

хм, а чего бы я это такое придумывал, если код уже есть (где-то лежит)

В чем еще преимущество такого кода - простота реализации именования имени файла, его можно на лету сделать транслитом от имени товара
А вот тут .. самое интересное. Если на транслит в урл Г смотрит в самый последний момент, то в транслит картинки в один из первых
+ название каротинки получается чистым, без размерной линейки

А также, при болщом количестве картинок, не собирает все в кучу  а плавно распределяет по папкам

 

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

8 минут назад, chukcha сказал:

К сожалению, да

 

 

хм, а чего бы я это такое придумывал, если код уже есть (где-то лежит)

В чем еще преимущество такого кода - простота реализации именования имени файла, его можно на лету сделать транслитом от имени товара
А вот тут .. самое интересное. Если на транслит в урл Г смотрит в самый последний момент, то в транслит картинки в один из первых
+ название каротинки получается чистым, без размерной линейки

А также, при болщом количестве картинок, не собирает все в кучу  а плавно распределяет по папкам

 

 

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

 

А как себя поведут сторонние модули использующие миниатюры и другие кеш изображения (тот же sitemap)? Я так понимаю, если они сделаны с соблюдением архитектуры opencart то проблем не будет?

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


3 минуты назад, igorekioo сказал:

А как себя поведут сторонние модули использующие миниатюры и другие кеш изображения

без проблем, потому как модификатор вмешивается в модель

Правда с именованием немного похуже, потмоу что имя сущноости, а в основном товар не передается
Но дело в том , что верстка опенкарта  не позволяет корректно индексировать картинки
Г. в основном индексирует то, что лежит в src, а там почти всегда лежат превью
Потмоу как то что лежит по ссылке (popup) нее имеет альтов, и окружающий текст очень далек (глубина dom)

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

  • 1 month later...
В 03.06.2020 в 23:38, chukcha сказал:

без проблем, потому как модификатор вмешивается в модель

Правда с именованием немного похуже, потмоу что имя сущноости, а в основном товар не передается
Но дело в том , что верстка опенкарта  не позволяет корректно индексировать картинки
Г. в основном индексирует то, что лежит в src, а там почти всегда лежат превью
Потмоу как то что лежит по ссылке (popup) нее имеет альтов, и окружающий текст очень далек (глубина dom)

Поинтересуюсь, нет ли каких сдвижек по части модуля?

 

Я тут сам пока поковырялся, куда знаний хватило. Понял что сохранение кеша происходит в catalog/model/tool/image.php, и смог сделать зашифровку только для имени файла (через md5).

Было:

$image_new = 'cache/' . utf8_substr($filename, 0, utf8_strrpos($filename, '.')) . '-' . (int)$width . 'x' . (int)$height . '.' . $extension;

Стало:

$image_new = 'cache/' . md5(utf8_substr($filename, 0, utf8_strrpos($filename, '.')) . '-' . (int)$width . 'x' . (int)$height) . '.' . $extension;

Минус такого подхода - пропало деление на папки и все файлы попадают в корень cache (что очень плохо). Если я правильно понял, причина вроде бы в том, что пути файлов хранится в $filename, а я их все шифрую.

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

Не подскажите, как правильно реализовать?

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


$image_new = 'cache/' . $width . 'x' . (int)$height) . '/' . md5(utf8_substr($filename, 0, utf8_strrpos($filename, '.'))) . '.' . $extension;

Например так

В зависимости от количества товара

$fn = md5(utf8_substr($filename, 0, utf8_strrpos($filename, '.')));

$sub = substr($fn,0,2);

$image_new = 'cache/' . $width . 'x' . (int)$height) . '/' . $sub . '/' . $fn . '.' . $extension;

 

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

4 часа назад, chukcha сказал:

В зависимости от количества товара

$fn = md5(utf8_substr($filename, 0, utf8_strrpos($filename, '.')));

$sub = substr($fn,0,2);

$image_new = 'cache/' . $width . 'x' . (int)$height) . '/' . $sub . '/' . $fn . '.' . $extension;

 

Спасибо, это почти то что нужно.

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

Как бы вытянуть из вот этого: utf8_substr($filename, 0, utf8_strrpos($filename, '.')), только название файла, без пути.

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


Та не вопрос

каким-либо образом  полeчкить имя файла

например
$info = new SplFileInfo(' $filename ');
$fn = $info->getFilename();
$path = $info->getRealPath();

$fn = md5(utf8_substr($fpath);

$sub = substr($fn,0,2);

$image_new = 'cache/' . $width . 'x' . (int)$height) . '/' . $sub . '/' . $fn;

 

 

Таким образом - название файла остается оригинальным, а путь - шифруется

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

1 час назад, chukcha сказал:

Таким образом - название файла остается оригинальным, а путь - шифруется

 

Я чуть изменил. Работает исправно. Можно ли вот так это делать, через "pathinfo"?

$fn = pathinfo($filename, PATHINFO_FILENAME);
$path = pathinfo($filename, PATHINFO_DIRNAME);
$path_md5 = md5(basename($path));
$sub = utf8_substr($path_md5, 0, 5);
$image_new = 'cache/' . (int)$width . 'x' . (int)$height . '/' . $sub . '/' . $fn . '.' . $extension;

И добавил больше символов для каталогов с md5, т.к. в теории может возникнуть ситуация когда названия файлов оригиналов совпадают (например в разных каталогах 2 разных фото, условно "tv/sony1.jpg" и "mobile/sony1.jpg" и первые 2 символа совпадут по md5, хотя шанс на это минимальный). Тогда наверное произойдет перезапись и будет неправильное изображение где-то, чего не хотелось бы.

Или я где-то налажал?

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


12 часов назад, igorekioo сказал:

Можно ли вот так это делать, через "pathinfo"?

Вполне - я показал одно из решений

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

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

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

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

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

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

Вхід

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

Вхід зараз
  • Зараз на сторінці   0 користувачів

    • Ні користувачів, які переглядиють цю сторінку
×
×
  • Створити...

Important Information

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