Andrylomakin Опубліковано: 31 січня 2020 Share Опубліковано: 31 січня 2020 Подскажите кто как защищает оригиналы ? Кешированные изображения с водяным знаком обойти легко. Надіслати Поділитися на інших сайтах More sharing options...
Flint2000 Опубліковано: 31 січня 2020 Share Опубліковано: 31 січня 2020 Тільки що, Andrylomakin сказав: Кешированные изображения с водяным знаком обойти легко. Накладывайте водяной знак перед загрузкой или при загрузке фото Надіслати Поділитися на інших сайтах More sharing options... Andrylomakin Опубліковано: 31 січня 2020 Автор Share Опубліковано: 31 січня 2020 1 минуту назад, Flint2000 сказал: Накладывайте водяной знак перед загрузкой или при загрузке фото Я думал есть варианты по интересней Надіслати Поділитися на інших сайтах More sharing options... specialforce22 Опубліковано: 31 січня 2020 Share Опубліковано: 31 січня 2020 (змінено) 32 минуты назад, Andrylomakin сказал: Я думал есть варианты по интересней Не занимайтесь этой чухней! Какая Вам выгода делать лишний труд, так называемо, защищая свои картинки? По мне - так правильное русло и направляющая - это концетрироваться на своих продажах. Подумайте о своих покупателях, которым смотреть на товаре всякое г... Змінено 31 січня 2020 користувачем specialforce22 2 Надіслати Поділитися на інших сайтах More sharing options... Andrylomakin Опубліковано: 31 січня 2020 Автор Share Опубліковано: 31 січня 2020 1 час назад, specialforce22 сказал: Не занимайтесь этой чухней! Какая Вам выгода делать лишний труд, так называемо, защищая свои картинки? По мне - так правильное русло и направляющая - это концетрироваться на своих продажах. Подумайте о своих покупателях, которым смотреть на товаре всякое г... Кто-то получает фото бесплатно от поставщика, а некоторым выходит фото в пару тысяч баксов. Нет желания делать подарки конкурентам. Надіслати Поділитися на інших сайтах More sharing options... specialforce22 Опубліковано: 31 січня 2020 Share Опубліковано: 31 січня 2020 2 минуты назад, Andrylomakin сказал: Кто-то получает фото бесплатно от поставщика, а некоторым выходит фото в пару тысяч баксов. Нет желания делать подарки конкурентам. Конечно, такое чувство и мне знакомо)) Только - это всё Ваши внутренние переживания, которые на результат Вашего бизнеса в целом не влияет, кроме того, что у Вас преимущество - "Вас догоняют" и Вы заботитесь о своем клиенте первые, которые обязательно это оценят. Надіслати Поділитися на інших сайтах More sharing options... chukcha Опубліковано: 31 січня 2020 Share Опубліковано: 31 січня 2020 2 часа назад, Andrylomakin сказал: Подскажите кто как защищает оригиналы ? Кешированные изображения с водяным знаком обойти легко. Это как? Если вы озабочены что можно достать по прямому пути, то защитите прямой путь от прямого доступа Если вас интересует траф с картинок, то Г не рекомендует картинки с ватермарком Надіслати Поділитися на інших сайтах More sharing options... florapraktik Опубліковано: 2 лютого 2020 Share Опубліковано: 2 лютого 2020 В 31.01.2020 в 12:46, Andrylomakin сказал: Нет желания делать подарки конкурентам. Это интернет. настройте свои ожидания и мышление соответствующим образом. Надіслати Поділитися на інших сайтах More sharing options... 3 months later... matvens Опубліковано: 2 червня 2020 Share Опубліковано: 2 червня 2020 День добрый всем! Собственно тоже беспокоит этот вопрос, немного с другой стороны. Защита нужна от парсеров, а также нужно закрыть возможность, публиковать фото размещенные на моем хосте по прямой ссылке на сторонних ресурсах. Собственно только ради желания убрать ненужную нагрузку на хост и слегка усложнить жизнь редизайнерам. Надіслати Поділитися на інших сайтах More sharing options... AlexDW Опубліковано: 2 червня 2020 Share Опубліковано: 2 червня 2020 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 Надіслати Поділитися на інших сайтах More sharing options... igorekioo Опубліковано: 3 червня 2020 Share Опубліковано: 3 червня 2020 А дополняя вопрос о защите оригинального каталога, может его переименовать (сгенерировать, что хрен угадаешь)? А потом изменить везде catalog на ваше имя. Я правда не знаю как это в opencart устроено, если обработка происходит в одной месте и передается дальше, то изменить там + поправить в БД для уже существующих фото и готово. Или все не так радужно, и многое к этому "image/catalog" привязано и вызовет конфликты? Надіслати Поділитися на інших сайтах More sharing options... chukcha Опубліковано: 3 червня 2020 Share Опубліковано: 3 червня 2020 Оригинальные картинки могут находится там где и находятся А путь к неоригинальным т.е. к кешу можно изменить Оригинальная 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 Надіслати Поділитися на інших сайтах More sharing options... igorekioo Опубліковано: 3 червня 2020 Share Опубліковано: 3 червня 2020 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. Поэтому в голову пришла идея переименовать именно папку оригиналов. Детально технически не знаю как, тот кто лучше разбирается в структуре может подскажет. Хотя и это решение не идеальное, например если где-то в интерфейсе будет использоваться графика из папки оригиналов (типа фотки в статьи вручную добавленные) так наша папка и спалиться, как бы её хитро не переименовали, но это уже хоть каких то телодвижений будет требовать от воров. А в текущем виде - бери не хочу. Надіслати Поділитися на інших сайтах More sharing options... chukcha Опубліковано: 3 червня 2020 Share Опубліковано: 3 червня 2020 в том-то и дело, что показанное мною решение - прячет оригинальный путь, в отличие от стандартного решения Надіслати Поділитися на інших сайтах More sharing options... florapraktik Опубліковано: 3 червня 2020 Share Опубліковано: 3 червня 2020 В 02.06.2020 в 17:10, matvens сказал: ...нужно закрыть возможность, публиковать фото размещенные на моем хосте по прямой ссылке на сторонних ресурсах. Собственно только ради желания убрать ненужную нагрузку на хост... Столько сайтов ссылаются на ваши картинки, что это создаёт значимую нагрузку на Ваш сервер? Есть народная примета, что ссылки, - это хорошо для трафика. Надіслати Поділитися на інших сайтах More sharing options... igorekioo Опубліковано: 3 червня 2020 Share Опубліковано: 3 червня 2020 52 минуты назад, chukcha сказал: в том-то и дело, что показанное мною решение - прячет оригинальный путь, в отличие от стандартного решения Я сначала не понял, а потом как понял Вы от обратного пошли. Теперь бы только кто взялся обернуть это все в код. Правда на действующих магазинах пострадают уже проиндексированные изображения, если я правильно понял. Надіслати Поділитися на інших сайтах More sharing options... chukcha Опубліковано: 3 червня 2020 Share Опубліковано: 3 червня 2020 1 минуту назад, igorekioo сказал: Правда на действующих магазинах пострадают уже проиндексированные изображения, если я правильно понял. К сожалению, да 2 минуты назад, igorekioo сказал: Теперь бы только кто взялся обернуть это все в код. хм, а чего бы я это такое придумывал, если код уже есть (где-то лежит) В чем еще преимущество такого кода - простота реализации именования имени файла, его можно на лету сделать транслитом от имени товара А вот тут .. самое интересное. Если на транслит в урл Г смотрит в самый последний момент, то в транслит картинки в один из первых + название каротинки получается чистым, без размерной линейки А также, при болщом количестве картинок, не собирает все в кучу а плавно распределяет по папкам Надіслати Поділитися на інших сайтах More sharing options... igorekioo Опубліковано: 3 червня 2020 Share Опубліковано: 3 червня 2020 8 минут назад, chukcha сказал: К сожалению, да хм, а чего бы я это такое придумывал, если код уже есть (где-то лежит) В чем еще преимущество такого кода - простота реализации именования имени файла, его можно на лету сделать транслитом от имени товара А вот тут .. самое интересное. Если на транслит в урл Г смотрит в самый последний момент, то в транслит картинки в один из первых + название каротинки получается чистым, без размерной линейки А также, при болщом количестве картинок, не собирает все в кучу а плавно распределяет по папкам Звучит отлично. Тем более если заготовки уже есть, может вы поскребете по сусекам, да выложите это все в виде модуля. Я думаю спрос на такое точно есть. А как себя поведут сторонние модули использующие миниатюры и другие кеш изображения (тот же sitemap)? Я так понимаю, если они сделаны с соблюдением архитектуры opencart то проблем не будет? Надіслати Поділитися на інших сайтах More sharing options... chukcha Опубліковано: 3 червня 2020 Share Опубліковано: 3 червня 2020 3 минуты назад, igorekioo сказал: А как себя поведут сторонние модули использующие миниатюры и другие кеш изображения без проблем, потому как модификатор вмешивается в модель Правда с именованием немного похуже, потмоу что имя сущноости, а в основном товар не передается Но дело в том , что верстка опенкарта не позволяет корректно индексировать картинки Г. в основном индексирует то, что лежит в src, а там почти всегда лежат превью Потмоу как то что лежит по ссылке (popup) нее имеет альтов, и окружающий текст очень далек (глубина dom) Надіслати Поділитися на інших сайтах More sharing options... 1 month later... igorekioo Опубліковано: 10 липня 2020 Share Опубліковано: 10 липня 2020 В 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 каталоге. Не подскажите, как правильно реализовать? Надіслати Поділитися на інших сайтах More sharing options... chukcha Опубліковано: 11 липня 2020 Share Опубліковано: 11 липня 2020 $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 Надіслати Поділитися на інших сайтах More sharing options... igorekioo Опубліковано: 11 липня 2020 Share Опубліковано: 11 липня 2020 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, '.')), только название файла, без пути. Надіслати Поділитися на інших сайтах More sharing options... chukcha Опубліковано: 11 липня 2020 Share Опубліковано: 11 липня 2020 Та не вопрос каким-либо образом пол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; Таким образом - название файла остается оригинальным, а путь - шифруется Надіслати Поділитися на інших сайтах More sharing options... igorekioo Опубліковано: 11 липня 2020 Share Опубліковано: 11 липня 2020 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, хотя шанс на это минимальный). Тогда наверное произойдет перезапись и будет неправильное изображение где-то, чего не хотелось бы. Или я где-то налажал? Надіслати Поділитися на інших сайтах More sharing options... chukcha Опубліковано: 12 липня 2020 Share Опубліковано: 12 липня 2020 12 часов назад, igorekioo сказал: Можно ли вот так это делать, через "pathinfo"? Вполне - я показал одно из решений Надіслати Поділитися на інших сайтах More sharing options... Назад 1 2 Вперед Сторінка 1 з 2 Створіть аккаунт або увійдіть для коментування Ви повинні бути користувачем, щоб залишити коментар Створити обліковий запис Зареєструйтеся для отримання облікового запису. Це просто! Зареєструвати аккаунт Вхід Уже зареєстровані? Увійдіть тут. Вхід зараз Share More sharing options... Передплатники 1 Перейти до списку тем Зараз на сторінці 0 користувачів Ні користувачів, які переглядиють цю сторінку Последние темы Последние дополнения Последние новости Вся активність Головна Opencart 2.x Opencart 2.x: Загальні питання Защита изображений Покупцям Оплата розширень фізичними особами Оплата розширень юридичними особами Політика повернень Розробникам Регламент розміщення розширень Регламент продажу та підтримки розширень Віртуальний обліковий запис автора Політика просування оголошень API каталогу розширень Вирішення спорів щодо авторських прав Корисна інформація Публічна оферта Політика повернень Політика конфіденційності Платіжна політика Політика передачі особистих даних Політика прозорості Останні розширення PRICE MASTER - Модуль імпорту/експорту товарів, парсинг, переклад, генерація текстів, редактор каталогу та багато іншого Автор: ScriptBrains 1.0 Синхронізація Замовлень Rozetka.ua та Opencart Автор: sinco Product Manipulator Автор: Hiperlynx007 Видалення дублікатів товарів для OpenCart Автор: Hatshypsut Вибір категорій і виробників для "Знайшли дешевше" шаблону Upstore Автор: Flint2000 × Уже зареєстровані? Ввійти Реєстрація Ваші замовлення Назад Придбані модулі та шаблони Ваші рахунки Лист очікувань Альтернативні контакти Форум Новини ocStore Назад Офіційний сайт Демо ocStore 3.0.3.2 Демо ocStore 2.3.0.2.4 Завантажити ocStore Документація Історія версій ocStore Блоги Модулі Шаблони Назад Безкоштовні шаблони Платні шаблони Де купувати модулі? Послуги FAQ OpenCart.Pro Назад Демо Купити Порівняння × Створити... Important Information На нашому сайті використовуються файли cookie і відбувається обробка деяких персональних даних користувачів, щоб поліпшити користувальницький інтерфейс. Щоб дізнатися для чого і які персональні дані ми обробляємо перейдіть за посиланням . Якщо Ви натиснете «Я даю згоду», це означає, що Ви розумієте і приймаєте всі умови, зазначені в цьому Повідомленні про конфіденційність. Я даю згоду
Andrylomakin Опубліковано: 31 січня 2020 Автор Share Опубліковано: 31 січня 2020 1 минуту назад, Flint2000 сказал: Накладывайте водяной знак перед загрузкой или при загрузке фото Я думал есть варианты по интересней Надіслати Поділитися на інших сайтах More sharing options...
specialforce22 Опубліковано: 31 січня 2020 Share Опубліковано: 31 січня 2020 (змінено) 32 минуты назад, Andrylomakin сказал: Я думал есть варианты по интересней Не занимайтесь этой чухней! Какая Вам выгода делать лишний труд, так называемо, защищая свои картинки? По мне - так правильное русло и направляющая - это концетрироваться на своих продажах. Подумайте о своих покупателях, которым смотреть на товаре всякое г... Змінено 31 січня 2020 користувачем specialforce22 2 Надіслати Поділитися на інших сайтах More sharing options...
Andrylomakin Опубліковано: 31 січня 2020 Автор Share Опубліковано: 31 січня 2020 1 час назад, specialforce22 сказал: Не занимайтесь этой чухней! Какая Вам выгода делать лишний труд, так называемо, защищая свои картинки? По мне - так правильное русло и направляющая - это концетрироваться на своих продажах. Подумайте о своих покупателях, которым смотреть на товаре всякое г... Кто-то получает фото бесплатно от поставщика, а некоторым выходит фото в пару тысяч баксов. Нет желания делать подарки конкурентам. Надіслати Поділитися на інших сайтах More sharing options...
specialforce22 Опубліковано: 31 січня 2020 Share Опубліковано: 31 січня 2020 2 минуты назад, Andrylomakin сказал: Кто-то получает фото бесплатно от поставщика, а некоторым выходит фото в пару тысяч баксов. Нет желания делать подарки конкурентам. Конечно, такое чувство и мне знакомо)) Только - это всё Ваши внутренние переживания, которые на результат Вашего бизнеса в целом не влияет, кроме того, что у Вас преимущество - "Вас догоняют" и Вы заботитесь о своем клиенте первые, которые обязательно это оценят. Надіслати Поділитися на інших сайтах More sharing options...
chukcha Опубліковано: 31 січня 2020 Share Опубліковано: 31 січня 2020 2 часа назад, Andrylomakin сказал: Подскажите кто как защищает оригиналы ? Кешированные изображения с водяным знаком обойти легко. Это как? Если вы озабочены что можно достать по прямому пути, то защитите прямой путь от прямого доступа Если вас интересует траф с картинок, то Г не рекомендует картинки с ватермарком Надіслати Поділитися на інших сайтах More sharing options... florapraktik Опубліковано: 2 лютого 2020 Share Опубліковано: 2 лютого 2020 В 31.01.2020 в 12:46, Andrylomakin сказал: Нет желания делать подарки конкурентам. Это интернет. настройте свои ожидания и мышление соответствующим образом. Надіслати Поділитися на інших сайтах More sharing options... 3 months later... matvens Опубліковано: 2 червня 2020 Share Опубліковано: 2 червня 2020 День добрый всем! Собственно тоже беспокоит этот вопрос, немного с другой стороны. Защита нужна от парсеров, а также нужно закрыть возможность, публиковать фото размещенные на моем хосте по прямой ссылке на сторонних ресурсах. Собственно только ради желания убрать ненужную нагрузку на хост и слегка усложнить жизнь редизайнерам. Надіслати Поділитися на інших сайтах More sharing options... AlexDW Опубліковано: 2 червня 2020 Share Опубліковано: 2 червня 2020 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 Надіслати Поділитися на інших сайтах More sharing options... igorekioo Опубліковано: 3 червня 2020 Share Опубліковано: 3 червня 2020 А дополняя вопрос о защите оригинального каталога, может его переименовать (сгенерировать, что хрен угадаешь)? А потом изменить везде catalog на ваше имя. Я правда не знаю как это в opencart устроено, если обработка происходит в одной месте и передается дальше, то изменить там + поправить в БД для уже существующих фото и готово. Или все не так радужно, и многое к этому "image/catalog" привязано и вызовет конфликты? Надіслати Поділитися на інших сайтах More sharing options... chukcha Опубліковано: 3 червня 2020 Share Опубліковано: 3 червня 2020 Оригинальные картинки могут находится там где и находятся А путь к неоригинальным т.е. к кешу можно изменить Оригинальная 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 Надіслати Поділитися на інших сайтах More sharing options... igorekioo Опубліковано: 3 червня 2020 Share Опубліковано: 3 червня 2020 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. Поэтому в голову пришла идея переименовать именно папку оригиналов. Детально технически не знаю как, тот кто лучше разбирается в структуре может подскажет. Хотя и это решение не идеальное, например если где-то в интерфейсе будет использоваться графика из папки оригиналов (типа фотки в статьи вручную добавленные) так наша папка и спалиться, как бы её хитро не переименовали, но это уже хоть каких то телодвижений будет требовать от воров. А в текущем виде - бери не хочу. Надіслати Поділитися на інших сайтах More sharing options... chukcha Опубліковано: 3 червня 2020 Share Опубліковано: 3 червня 2020 в том-то и дело, что показанное мною решение - прячет оригинальный путь, в отличие от стандартного решения Надіслати Поділитися на інших сайтах More sharing options... florapraktik Опубліковано: 3 червня 2020 Share Опубліковано: 3 червня 2020 В 02.06.2020 в 17:10, matvens сказал: ...нужно закрыть возможность, публиковать фото размещенные на моем хосте по прямой ссылке на сторонних ресурсах. Собственно только ради желания убрать ненужную нагрузку на хост... Столько сайтов ссылаются на ваши картинки, что это создаёт значимую нагрузку на Ваш сервер? Есть народная примета, что ссылки, - это хорошо для трафика. Надіслати Поділитися на інших сайтах More sharing options... igorekioo Опубліковано: 3 червня 2020 Share Опубліковано: 3 червня 2020 52 минуты назад, chukcha сказал: в том-то и дело, что показанное мною решение - прячет оригинальный путь, в отличие от стандартного решения Я сначала не понял, а потом как понял Вы от обратного пошли. Теперь бы только кто взялся обернуть это все в код. Правда на действующих магазинах пострадают уже проиндексированные изображения, если я правильно понял. Надіслати Поділитися на інших сайтах More sharing options... chukcha Опубліковано: 3 червня 2020 Share Опубліковано: 3 червня 2020 1 минуту назад, igorekioo сказал: Правда на действующих магазинах пострадают уже проиндексированные изображения, если я правильно понял. К сожалению, да 2 минуты назад, igorekioo сказал: Теперь бы только кто взялся обернуть это все в код. хм, а чего бы я это такое придумывал, если код уже есть (где-то лежит) В чем еще преимущество такого кода - простота реализации именования имени файла, его можно на лету сделать транслитом от имени товара А вот тут .. самое интересное. Если на транслит в урл Г смотрит в самый последний момент, то в транслит картинки в один из первых + название каротинки получается чистым, без размерной линейки А также, при болщом количестве картинок, не собирает все в кучу а плавно распределяет по папкам Надіслати Поділитися на інших сайтах More sharing options... igorekioo Опубліковано: 3 червня 2020 Share Опубліковано: 3 червня 2020 8 минут назад, chukcha сказал: К сожалению, да хм, а чего бы я это такое придумывал, если код уже есть (где-то лежит) В чем еще преимущество такого кода - простота реализации именования имени файла, его можно на лету сделать транслитом от имени товара А вот тут .. самое интересное. Если на транслит в урл Г смотрит в самый последний момент, то в транслит картинки в один из первых + название каротинки получается чистым, без размерной линейки А также, при болщом количестве картинок, не собирает все в кучу а плавно распределяет по папкам Звучит отлично. Тем более если заготовки уже есть, может вы поскребете по сусекам, да выложите это все в виде модуля. Я думаю спрос на такое точно есть. А как себя поведут сторонние модули использующие миниатюры и другие кеш изображения (тот же sitemap)? Я так понимаю, если они сделаны с соблюдением архитектуры opencart то проблем не будет? Надіслати Поділитися на інших сайтах More sharing options... chukcha Опубліковано: 3 червня 2020 Share Опубліковано: 3 червня 2020 3 минуты назад, igorekioo сказал: А как себя поведут сторонние модули использующие миниатюры и другие кеш изображения без проблем, потому как модификатор вмешивается в модель Правда с именованием немного похуже, потмоу что имя сущноости, а в основном товар не передается Но дело в том , что верстка опенкарта не позволяет корректно индексировать картинки Г. в основном индексирует то, что лежит в src, а там почти всегда лежат превью Потмоу как то что лежит по ссылке (popup) нее имеет альтов, и окружающий текст очень далек (глубина dom) Надіслати Поділитися на інших сайтах More sharing options... 1 month later... igorekioo Опубліковано: 10 липня 2020 Share Опубліковано: 10 липня 2020 В 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 каталоге. Не подскажите, как правильно реализовать? Надіслати Поділитися на інших сайтах More sharing options... chukcha Опубліковано: 11 липня 2020 Share Опубліковано: 11 липня 2020 $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 Надіслати Поділитися на інших сайтах More sharing options... igorekioo Опубліковано: 11 липня 2020 Share Опубліковано: 11 липня 2020 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, '.')), только название файла, без пути. Надіслати Поділитися на інших сайтах More sharing options... chukcha Опубліковано: 11 липня 2020 Share Опубліковано: 11 липня 2020 Та не вопрос каким-либо образом пол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; Таким образом - название файла остается оригинальным, а путь - шифруется Надіслати Поділитися на інших сайтах More sharing options... igorekioo Опубліковано: 11 липня 2020 Share Опубліковано: 11 липня 2020 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, хотя шанс на это минимальный). Тогда наверное произойдет перезапись и будет неправильное изображение где-то, чего не хотелось бы. Или я где-то налажал? Надіслати Поділитися на інших сайтах More sharing options... chukcha Опубліковано: 12 липня 2020 Share Опубліковано: 12 липня 2020 12 часов назад, igorekioo сказал: Можно ли вот так это делать, через "pathinfo"? Вполне - я показал одно из решений Надіслати Поділитися на інших сайтах More sharing options... Назад 1 2 Вперед Сторінка 1 з 2 Створіть аккаунт або увійдіть для коментування Ви повинні бути користувачем, щоб залишити коментар Створити обліковий запис Зареєструйтеся для отримання облікового запису. Це просто! Зареєструвати аккаунт Вхід Уже зареєстровані? Увійдіть тут. Вхід зараз Share More sharing options... Передплатники 1 Перейти до списку тем Зараз на сторінці 0 користувачів Ні користувачів, які переглядиють цю сторінку Последние темы Последние дополнения Последние новости Вся активність Головна Opencart 2.x Opencart 2.x: Загальні питання Защита изображений Покупцям Оплата розширень фізичними особами Оплата розширень юридичними особами Політика повернень Розробникам Регламент розміщення розширень Регламент продажу та підтримки розширень Віртуальний обліковий запис автора Політика просування оголошень API каталогу розширень Вирішення спорів щодо авторських прав Корисна інформація Публічна оферта Політика повернень Політика конфіденційності Платіжна політика Політика передачі особистих даних Політика прозорості Останні розширення PRICE MASTER - Модуль імпорту/експорту товарів, парсинг, переклад, генерація текстів, редактор каталогу та багато іншого Автор: ScriptBrains 1.0 Синхронізація Замовлень Rozetka.ua та Opencart Автор: sinco Product Manipulator Автор: Hiperlynx007 Видалення дублікатів товарів для OpenCart Автор: Hatshypsut Вибір категорій і виробників для "Знайшли дешевше" шаблону Upstore Автор: Flint2000 × Уже зареєстровані? Ввійти Реєстрація Ваші замовлення Назад Придбані модулі та шаблони Ваші рахунки Лист очікувань Альтернативні контакти Форум Новини ocStore Назад Офіційний сайт Демо ocStore 3.0.3.2 Демо ocStore 2.3.0.2.4 Завантажити ocStore Документація Історія версій ocStore Блоги Модулі Шаблони Назад Безкоштовні шаблони Платні шаблони Де купувати модулі? Послуги FAQ OpenCart.Pro Назад Демо Купити Порівняння × Створити... Important Information На нашому сайті використовуються файли cookie і відбувається обробка деяких персональних даних користувачів, щоб поліпшити користувальницький інтерфейс. Щоб дізнатися для чого і які персональні дані ми обробляємо перейдіть за посиланням . Якщо Ви натиснете «Я даю згоду», це означає, що Ви розумієте і приймаєте всі умови, зазначені в цьому Повідомленні про конфіденційність. Я даю згоду
florapraktik Опубліковано: 2 лютого 2020 Share Опубліковано: 2 лютого 2020 В 31.01.2020 в 12:46, Andrylomakin сказал: Нет желания делать подарки конкурентам. Это интернет. настройте свои ожидания и мышление соответствующим образом. Надіслати Поділитися на інших сайтах More sharing options...
matvens Опубліковано: 2 червня 2020 Share Опубліковано: 2 червня 2020 День добрый всем! Собственно тоже беспокоит этот вопрос, немного с другой стороны. Защита нужна от парсеров, а также нужно закрыть возможность, публиковать фото размещенные на моем хосте по прямой ссылке на сторонних ресурсах. Собственно только ради желания убрать ненужную нагрузку на хост и слегка усложнить жизнь редизайнерам. Надіслати Поділитися на інших сайтах More sharing options...
AlexDW Опубліковано: 2 червня 2020 Share Опубліковано: 2 червня 2020 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 Надіслати Поділитися на інших сайтах More sharing options... igorekioo Опубліковано: 3 червня 2020 Share Опубліковано: 3 червня 2020 А дополняя вопрос о защите оригинального каталога, может его переименовать (сгенерировать, что хрен угадаешь)? А потом изменить везде catalog на ваше имя. Я правда не знаю как это в opencart устроено, если обработка происходит в одной месте и передается дальше, то изменить там + поправить в БД для уже существующих фото и готово. Или все не так радужно, и многое к этому "image/catalog" привязано и вызовет конфликты? Надіслати Поділитися на інших сайтах More sharing options... chukcha Опубліковано: 3 червня 2020 Share Опубліковано: 3 червня 2020 Оригинальные картинки могут находится там где и находятся А путь к неоригинальным т.е. к кешу можно изменить Оригинальная 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 Надіслати Поділитися на інших сайтах More sharing options... igorekioo Опубліковано: 3 червня 2020 Share Опубліковано: 3 червня 2020 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. Поэтому в голову пришла идея переименовать именно папку оригиналов. Детально технически не знаю как, тот кто лучше разбирается в структуре может подскажет. Хотя и это решение не идеальное, например если где-то в интерфейсе будет использоваться графика из папки оригиналов (типа фотки в статьи вручную добавленные) так наша папка и спалиться, как бы её хитро не переименовали, но это уже хоть каких то телодвижений будет требовать от воров. А в текущем виде - бери не хочу. Надіслати Поділитися на інших сайтах More sharing options... chukcha Опубліковано: 3 червня 2020 Share Опубліковано: 3 червня 2020 в том-то и дело, что показанное мною решение - прячет оригинальный путь, в отличие от стандартного решения Надіслати Поділитися на інших сайтах More sharing options... florapraktik Опубліковано: 3 червня 2020 Share Опубліковано: 3 червня 2020 В 02.06.2020 в 17:10, matvens сказал: ...нужно закрыть возможность, публиковать фото размещенные на моем хосте по прямой ссылке на сторонних ресурсах. Собственно только ради желания убрать ненужную нагрузку на хост... Столько сайтов ссылаются на ваши картинки, что это создаёт значимую нагрузку на Ваш сервер? Есть народная примета, что ссылки, - это хорошо для трафика. Надіслати Поділитися на інших сайтах More sharing options... igorekioo Опубліковано: 3 червня 2020 Share Опубліковано: 3 червня 2020 52 минуты назад, chukcha сказал: в том-то и дело, что показанное мною решение - прячет оригинальный путь, в отличие от стандартного решения Я сначала не понял, а потом как понял Вы от обратного пошли. Теперь бы только кто взялся обернуть это все в код. Правда на действующих магазинах пострадают уже проиндексированные изображения, если я правильно понял. Надіслати Поділитися на інших сайтах More sharing options... chukcha Опубліковано: 3 червня 2020 Share Опубліковано: 3 червня 2020 1 минуту назад, igorekioo сказал: Правда на действующих магазинах пострадают уже проиндексированные изображения, если я правильно понял. К сожалению, да 2 минуты назад, igorekioo сказал: Теперь бы только кто взялся обернуть это все в код. хм, а чего бы я это такое придумывал, если код уже есть (где-то лежит) В чем еще преимущество такого кода - простота реализации именования имени файла, его можно на лету сделать транслитом от имени товара А вот тут .. самое интересное. Если на транслит в урл Г смотрит в самый последний момент, то в транслит картинки в один из первых + название каротинки получается чистым, без размерной линейки А также, при болщом количестве картинок, не собирает все в кучу а плавно распределяет по папкам Надіслати Поділитися на інших сайтах More sharing options... igorekioo Опубліковано: 3 червня 2020 Share Опубліковано: 3 червня 2020 8 минут назад, chukcha сказал: К сожалению, да хм, а чего бы я это такое придумывал, если код уже есть (где-то лежит) В чем еще преимущество такого кода - простота реализации именования имени файла, его можно на лету сделать транслитом от имени товара А вот тут .. самое интересное. Если на транслит в урл Г смотрит в самый последний момент, то в транслит картинки в один из первых + название каротинки получается чистым, без размерной линейки А также, при болщом количестве картинок, не собирает все в кучу а плавно распределяет по папкам Звучит отлично. Тем более если заготовки уже есть, может вы поскребете по сусекам, да выложите это все в виде модуля. Я думаю спрос на такое точно есть. А как себя поведут сторонние модули использующие миниатюры и другие кеш изображения (тот же sitemap)? Я так понимаю, если они сделаны с соблюдением архитектуры opencart то проблем не будет? Надіслати Поділитися на інших сайтах More sharing options... chukcha Опубліковано: 3 червня 2020 Share Опубліковано: 3 червня 2020 3 минуты назад, igorekioo сказал: А как себя поведут сторонние модули использующие миниатюры и другие кеш изображения без проблем, потому как модификатор вмешивается в модель Правда с именованием немного похуже, потмоу что имя сущноости, а в основном товар не передается Но дело в том , что верстка опенкарта не позволяет корректно индексировать картинки Г. в основном индексирует то, что лежит в src, а там почти всегда лежат превью Потмоу как то что лежит по ссылке (popup) нее имеет альтов, и окружающий текст очень далек (глубина dom) Надіслати Поділитися на інших сайтах More sharing options... 1 month later... igorekioo Опубліковано: 10 липня 2020 Share Опубліковано: 10 липня 2020 В 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 каталоге. Не подскажите, как правильно реализовать? Надіслати Поділитися на інших сайтах More sharing options... chukcha Опубліковано: 11 липня 2020 Share Опубліковано: 11 липня 2020 $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 Надіслати Поділитися на інших сайтах More sharing options... igorekioo Опубліковано: 11 липня 2020 Share Опубліковано: 11 липня 2020 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, '.')), только название файла, без пути. Надіслати Поділитися на інших сайтах More sharing options... chukcha Опубліковано: 11 липня 2020 Share Опубліковано: 11 липня 2020 Та не вопрос каким-либо образом пол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; Таким образом - название файла остается оригинальным, а путь - шифруется Надіслати Поділитися на інших сайтах More sharing options... igorekioo Опубліковано: 11 липня 2020 Share Опубліковано: 11 липня 2020 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, хотя шанс на это минимальный). Тогда наверное произойдет перезапись и будет неправильное изображение где-то, чего не хотелось бы. Или я где-то налажал? Надіслати Поділитися на інших сайтах More sharing options... chukcha Опубліковано: 12 липня 2020 Share Опубліковано: 12 липня 2020 12 часов назад, igorekioo сказал: Можно ли вот так это делать, через "pathinfo"? Вполне - я показал одно из решений Надіслати Поділитися на інших сайтах More sharing options... Назад 1 2 Вперед Сторінка 1 з 2 Створіть аккаунт або увійдіть для коментування Ви повинні бути користувачем, щоб залишити коментар Створити обліковий запис Зареєструйтеся для отримання облікового запису. Це просто! Зареєструвати аккаунт Вхід Уже зареєстровані? Увійдіть тут. Вхід зараз Share More sharing options... Передплатники 1 Перейти до списку тем Зараз на сторінці 0 користувачів Ні користувачів, які переглядиють цю сторінку Последние темы Последние дополнения Последние новости Вся активність Головна Opencart 2.x Opencart 2.x: Загальні питання Защита изображений Покупцям Оплата розширень фізичними особами Оплата розширень юридичними особами Політика повернень Розробникам Регламент розміщення розширень Регламент продажу та підтримки розширень Віртуальний обліковий запис автора Політика просування оголошень API каталогу розширень Вирішення спорів щодо авторських прав Корисна інформація Публічна оферта Політика повернень Політика конфіденційності Платіжна політика Політика передачі особистих даних Політика прозорості Останні розширення PRICE MASTER - Модуль імпорту/експорту товарів, парсинг, переклад, генерація текстів, редактор каталогу та багато іншого Автор: ScriptBrains 1.0 Синхронізація Замовлень Rozetka.ua та Opencart Автор: sinco Product Manipulator Автор: Hiperlynx007 Видалення дублікатів товарів для OpenCart Автор: Hatshypsut Вибір категорій і виробників для "Знайшли дешевше" шаблону Upstore Автор: Flint2000 × Уже зареєстровані? Ввійти Реєстрація Ваші замовлення Назад Придбані модулі та шаблони Ваші рахунки Лист очікувань Альтернативні контакти Форум Новини ocStore Назад Офіційний сайт Демо ocStore 3.0.3.2 Демо ocStore 2.3.0.2.4 Завантажити ocStore Документація Історія версій ocStore Блоги Модулі Шаблони Назад Безкоштовні шаблони Платні шаблони Де купувати модулі? Послуги FAQ OpenCart.Pro Назад Демо Купити Порівняння × Створити... Important Information На нашому сайті використовуються файли cookie і відбувається обробка деяких персональних даних користувачів, щоб поліпшити користувальницький інтерфейс. Щоб дізнатися для чого і які персональні дані ми обробляємо перейдіть за посиланням . Якщо Ви натиснете «Я даю згоду», це означає, що Ви розумієте і приймаєте всі умови, зазначені в цьому Повідомленні про конфіденційність. Я даю згоду
igorekioo Опубліковано: 3 червня 2020 Share Опубліковано: 3 червня 2020 А дополняя вопрос о защите оригинального каталога, может его переименовать (сгенерировать, что хрен угадаешь)? А потом изменить везде catalog на ваше имя. Я правда не знаю как это в opencart устроено, если обработка происходит в одной месте и передается дальше, то изменить там + поправить в БД для уже существующих фото и готово. Или все не так радужно, и многое к этому "image/catalog" привязано и вызовет конфликты? Надіслати Поділитися на інших сайтах More sharing options...
chukcha Опубліковано: 3 червня 2020 Share Опубліковано: 3 червня 2020 Оригинальные картинки могут находится там где и находятся А путь к неоригинальным т.е. к кешу можно изменить Оригинальная 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 Надіслати Поділитися на інших сайтах More sharing options... igorekioo Опубліковано: 3 червня 2020 Share Опубліковано: 3 червня 2020 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. Поэтому в голову пришла идея переименовать именно папку оригиналов. Детально технически не знаю как, тот кто лучше разбирается в структуре может подскажет. Хотя и это решение не идеальное, например если где-то в интерфейсе будет использоваться графика из папки оригиналов (типа фотки в статьи вручную добавленные) так наша папка и спалиться, как бы её хитро не переименовали, но это уже хоть каких то телодвижений будет требовать от воров. А в текущем виде - бери не хочу. Надіслати Поділитися на інших сайтах More sharing options... chukcha Опубліковано: 3 червня 2020 Share Опубліковано: 3 червня 2020 в том-то и дело, что показанное мною решение - прячет оригинальный путь, в отличие от стандартного решения Надіслати Поділитися на інших сайтах More sharing options... florapraktik Опубліковано: 3 червня 2020 Share Опубліковано: 3 червня 2020 В 02.06.2020 в 17:10, matvens сказал: ...нужно закрыть возможность, публиковать фото размещенные на моем хосте по прямой ссылке на сторонних ресурсах. Собственно только ради желания убрать ненужную нагрузку на хост... Столько сайтов ссылаются на ваши картинки, что это создаёт значимую нагрузку на Ваш сервер? Есть народная примета, что ссылки, - это хорошо для трафика. Надіслати Поділитися на інших сайтах More sharing options... igorekioo Опубліковано: 3 червня 2020 Share Опубліковано: 3 червня 2020 52 минуты назад, chukcha сказал: в том-то и дело, что показанное мною решение - прячет оригинальный путь, в отличие от стандартного решения Я сначала не понял, а потом как понял Вы от обратного пошли. Теперь бы только кто взялся обернуть это все в код. Правда на действующих магазинах пострадают уже проиндексированные изображения, если я правильно понял. Надіслати Поділитися на інших сайтах More sharing options... chukcha Опубліковано: 3 червня 2020 Share Опубліковано: 3 червня 2020 1 минуту назад, igorekioo сказал: Правда на действующих магазинах пострадают уже проиндексированные изображения, если я правильно понял. К сожалению, да 2 минуты назад, igorekioo сказал: Теперь бы только кто взялся обернуть это все в код. хм, а чего бы я это такое придумывал, если код уже есть (где-то лежит) В чем еще преимущество такого кода - простота реализации именования имени файла, его можно на лету сделать транслитом от имени товара А вот тут .. самое интересное. Если на транслит в урл Г смотрит в самый последний момент, то в транслит картинки в один из первых + название каротинки получается чистым, без размерной линейки А также, при болщом количестве картинок, не собирает все в кучу а плавно распределяет по папкам Надіслати Поділитися на інших сайтах More sharing options... igorekioo Опубліковано: 3 червня 2020 Share Опубліковано: 3 червня 2020 8 минут назад, chukcha сказал: К сожалению, да хм, а чего бы я это такое придумывал, если код уже есть (где-то лежит) В чем еще преимущество такого кода - простота реализации именования имени файла, его можно на лету сделать транслитом от имени товара А вот тут .. самое интересное. Если на транслит в урл Г смотрит в самый последний момент, то в транслит картинки в один из первых + название каротинки получается чистым, без размерной линейки А также, при болщом количестве картинок, не собирает все в кучу а плавно распределяет по папкам Звучит отлично. Тем более если заготовки уже есть, может вы поскребете по сусекам, да выложите это все в виде модуля. Я думаю спрос на такое точно есть. А как себя поведут сторонние модули использующие миниатюры и другие кеш изображения (тот же sitemap)? Я так понимаю, если они сделаны с соблюдением архитектуры opencart то проблем не будет? Надіслати Поділитися на інших сайтах More sharing options... chukcha Опубліковано: 3 червня 2020 Share Опубліковано: 3 червня 2020 3 минуты назад, igorekioo сказал: А как себя поведут сторонние модули использующие миниатюры и другие кеш изображения без проблем, потому как модификатор вмешивается в модель Правда с именованием немного похуже, потмоу что имя сущноости, а в основном товар не передается Но дело в том , что верстка опенкарта не позволяет корректно индексировать картинки Г. в основном индексирует то, что лежит в src, а там почти всегда лежат превью Потмоу как то что лежит по ссылке (popup) нее имеет альтов, и окружающий текст очень далек (глубина dom) Надіслати Поділитися на інших сайтах More sharing options... 1 month later... igorekioo Опубліковано: 10 липня 2020 Share Опубліковано: 10 липня 2020 В 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 каталоге. Не подскажите, как правильно реализовать? Надіслати Поділитися на інших сайтах More sharing options... chukcha Опубліковано: 11 липня 2020 Share Опубліковано: 11 липня 2020 $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 Надіслати Поділитися на інших сайтах More sharing options... igorekioo Опубліковано: 11 липня 2020 Share Опубліковано: 11 липня 2020 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, '.')), только название файла, без пути. Надіслати Поділитися на інших сайтах More sharing options... chukcha Опубліковано: 11 липня 2020 Share Опубліковано: 11 липня 2020 Та не вопрос каким-либо образом пол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; Таким образом - название файла остается оригинальным, а путь - шифруется Надіслати Поділитися на інших сайтах More sharing options... igorekioo Опубліковано: 11 липня 2020 Share Опубліковано: 11 липня 2020 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, хотя шанс на это минимальный). Тогда наверное произойдет перезапись и будет неправильное изображение где-то, чего не хотелось бы. Или я где-то налажал? Надіслати Поділитися на інших сайтах More sharing options... chukcha Опубліковано: 12 липня 2020 Share Опубліковано: 12 липня 2020 12 часов назад, igorekioo сказал: Можно ли вот так это делать, через "pathinfo"? Вполне - я показал одно из решений Надіслати Поділитися на інших сайтах More sharing options... Назад 1 2 Вперед Сторінка 1 з 2 Створіть аккаунт або увійдіть для коментування Ви повинні бути користувачем, щоб залишити коментар Створити обліковий запис Зареєструйтеся для отримання облікового запису. Це просто! Зареєструвати аккаунт Вхід Уже зареєстровані? Увійдіть тут. Вхід зараз Share More sharing options... Передплатники 1 Перейти до списку тем Зараз на сторінці 0 користувачів Ні користувачів, які переглядиють цю сторінку Последние темы Последние дополнения Последние новости Вся активність Головна Opencart 2.x Opencart 2.x: Загальні питання Защита изображений Покупцям Оплата розширень фізичними особами Оплата розширень юридичними особами Політика повернень Розробникам Регламент розміщення розширень Регламент продажу та підтримки розширень Віртуальний обліковий запис автора Політика просування оголошень API каталогу розширень Вирішення спорів щодо авторських прав Корисна інформація Публічна оферта Політика повернень Політика конфіденційності Платіжна політика Політика передачі особистих даних Політика прозорості Останні розширення PRICE MASTER - Модуль імпорту/експорту товарів, парсинг, переклад, генерація текстів, редактор каталогу та багато іншого Автор: ScriptBrains 1.0 Синхронізація Замовлень Rozetka.ua та Opencart Автор: sinco Product Manipulator Автор: Hiperlynx007 Видалення дублікатів товарів для OpenCart Автор: Hatshypsut Вибір категорій і виробників для "Знайшли дешевше" шаблону Upstore Автор: Flint2000 × Уже зареєстровані? Ввійти Реєстрація Ваші замовлення Назад Придбані модулі та шаблони Ваші рахунки Лист очікувань Альтернативні контакти Форум Новини ocStore Назад Офіційний сайт Демо ocStore 3.0.3.2 Демо ocStore 2.3.0.2.4 Завантажити ocStore Документація Історія версій ocStore Блоги Модулі Шаблони Назад Безкоштовні шаблони Платні шаблони Де купувати модулі? Послуги FAQ OpenCart.Pro Назад Демо Купити Порівняння × Створити... Important Information На нашому сайті використовуються файли cookie і відбувається обробка деяких персональних даних користувачів, щоб поліпшити користувальницький інтерфейс. Щоб дізнатися для чого і які персональні дані ми обробляємо перейдіть за посиланням . Якщо Ви натиснете «Я даю згоду», це означає, що Ви розумієте і приймаєте всі умови, зазначені в цьому Повідомленні про конфіденційність. Я даю згоду
igorekioo Опубліковано: 3 червня 2020 Share Опубліковано: 3 червня 2020 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. Поэтому в голову пришла идея переименовать именно папку оригиналов. Детально технически не знаю как, тот кто лучше разбирается в структуре может подскажет. Хотя и это решение не идеальное, например если где-то в интерфейсе будет использоваться графика из папки оригиналов (типа фотки в статьи вручную добавленные) так наша папка и спалиться, как бы её хитро не переименовали, но это уже хоть каких то телодвижений будет требовать от воров. А в текущем виде - бери не хочу. Надіслати Поділитися на інших сайтах More sharing options...
chukcha Опубліковано: 3 червня 2020 Share Опубліковано: 3 червня 2020 в том-то и дело, что показанное мною решение - прячет оригинальный путь, в отличие от стандартного решения Надіслати Поділитися на інших сайтах More sharing options... florapraktik Опубліковано: 3 червня 2020 Share Опубліковано: 3 червня 2020 В 02.06.2020 в 17:10, matvens сказал: ...нужно закрыть возможность, публиковать фото размещенные на моем хосте по прямой ссылке на сторонних ресурсах. Собственно только ради желания убрать ненужную нагрузку на хост... Столько сайтов ссылаются на ваши картинки, что это создаёт значимую нагрузку на Ваш сервер? Есть народная примета, что ссылки, - это хорошо для трафика. Надіслати Поділитися на інших сайтах More sharing options... igorekioo Опубліковано: 3 червня 2020 Share Опубліковано: 3 червня 2020 52 минуты назад, chukcha сказал: в том-то и дело, что показанное мною решение - прячет оригинальный путь, в отличие от стандартного решения Я сначала не понял, а потом как понял Вы от обратного пошли. Теперь бы только кто взялся обернуть это все в код. Правда на действующих магазинах пострадают уже проиндексированные изображения, если я правильно понял. Надіслати Поділитися на інших сайтах More sharing options... chukcha Опубліковано: 3 червня 2020 Share Опубліковано: 3 червня 2020 1 минуту назад, igorekioo сказал: Правда на действующих магазинах пострадают уже проиндексированные изображения, если я правильно понял. К сожалению, да 2 минуты назад, igorekioo сказал: Теперь бы только кто взялся обернуть это все в код. хм, а чего бы я это такое придумывал, если код уже есть (где-то лежит) В чем еще преимущество такого кода - простота реализации именования имени файла, его можно на лету сделать транслитом от имени товара А вот тут .. самое интересное. Если на транслит в урл Г смотрит в самый последний момент, то в транслит картинки в один из первых + название каротинки получается чистым, без размерной линейки А также, при болщом количестве картинок, не собирает все в кучу а плавно распределяет по папкам Надіслати Поділитися на інших сайтах More sharing options... igorekioo Опубліковано: 3 червня 2020 Share Опубліковано: 3 червня 2020 8 минут назад, chukcha сказал: К сожалению, да хм, а чего бы я это такое придумывал, если код уже есть (где-то лежит) В чем еще преимущество такого кода - простота реализации именования имени файла, его можно на лету сделать транслитом от имени товара А вот тут .. самое интересное. Если на транслит в урл Г смотрит в самый последний момент, то в транслит картинки в один из первых + название каротинки получается чистым, без размерной линейки А также, при болщом количестве картинок, не собирает все в кучу а плавно распределяет по папкам Звучит отлично. Тем более если заготовки уже есть, может вы поскребете по сусекам, да выложите это все в виде модуля. Я думаю спрос на такое точно есть. А как себя поведут сторонние модули использующие миниатюры и другие кеш изображения (тот же sitemap)? Я так понимаю, если они сделаны с соблюдением архитектуры opencart то проблем не будет? Надіслати Поділитися на інших сайтах More sharing options... chukcha Опубліковано: 3 червня 2020 Share Опубліковано: 3 червня 2020 3 минуты назад, igorekioo сказал: А как себя поведут сторонние модули использующие миниатюры и другие кеш изображения без проблем, потому как модификатор вмешивается в модель Правда с именованием немного похуже, потмоу что имя сущноости, а в основном товар не передается Но дело в том , что верстка опенкарта не позволяет корректно индексировать картинки Г. в основном индексирует то, что лежит в src, а там почти всегда лежат превью Потмоу как то что лежит по ссылке (popup) нее имеет альтов, и окружающий текст очень далек (глубина dom) Надіслати Поділитися на інших сайтах More sharing options... 1 month later... igorekioo Опубліковано: 10 липня 2020 Share Опубліковано: 10 липня 2020 В 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 каталоге. Не подскажите, как правильно реализовать? Надіслати Поділитися на інших сайтах More sharing options... chukcha Опубліковано: 11 липня 2020 Share Опубліковано: 11 липня 2020 $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 Надіслати Поділитися на інших сайтах More sharing options... igorekioo Опубліковано: 11 липня 2020 Share Опубліковано: 11 липня 2020 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, '.')), только название файла, без пути. Надіслати Поділитися на інших сайтах More sharing options... chukcha Опубліковано: 11 липня 2020 Share Опубліковано: 11 липня 2020 Та не вопрос каким-либо образом пол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; Таким образом - название файла остается оригинальным, а путь - шифруется Надіслати Поділитися на інших сайтах More sharing options... igorekioo Опубліковано: 11 липня 2020 Share Опубліковано: 11 липня 2020 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, хотя шанс на это минимальный). Тогда наверное произойдет перезапись и будет неправильное изображение где-то, чего не хотелось бы. Или я где-то налажал? Надіслати Поділитися на інших сайтах More sharing options... chukcha Опубліковано: 12 липня 2020 Share Опубліковано: 12 липня 2020 12 часов назад, igorekioo сказал: Можно ли вот так это делать, через "pathinfo"? Вполне - я показал одно из решений Надіслати Поділитися на інших сайтах More sharing options... Назад 1 2 Вперед Сторінка 1 з 2 Створіть аккаунт або увійдіть для коментування Ви повинні бути користувачем, щоб залишити коментар Створити обліковий запис Зареєструйтеся для отримання облікового запису. Це просто! Зареєструвати аккаунт Вхід Уже зареєстровані? Увійдіть тут. Вхід зараз Share More sharing options... Передплатники 1 Перейти до списку тем Зараз на сторінці 0 користувачів Ні користувачів, які переглядиють цю сторінку Последние темы Последние дополнения Последние новости Вся активність Головна Opencart 2.x Opencart 2.x: Загальні питання Защита изображений Покупцям Оплата розширень фізичними особами Оплата розширень юридичними особами Політика повернень Розробникам Регламент розміщення розширень Регламент продажу та підтримки розширень Віртуальний обліковий запис автора Політика просування оголошень API каталогу розширень Вирішення спорів щодо авторських прав Корисна інформація Публічна оферта Політика повернень Політика конфіденційності Платіжна політика Політика передачі особистих даних Політика прозорості Останні розширення PRICE MASTER - Модуль імпорту/експорту товарів, парсинг, переклад, генерація текстів, редактор каталогу та багато іншого Автор: ScriptBrains 1.0 Синхронізація Замовлень Rozetka.ua та Opencart Автор: sinco Product Manipulator Автор: Hiperlynx007 Видалення дублікатів товарів для OpenCart Автор: Hatshypsut Вибір категорій і виробників для "Знайшли дешевше" шаблону Upstore Автор: Flint2000 × Уже зареєстровані? Ввійти Реєстрація Ваші замовлення Назад Придбані модулі та шаблони Ваші рахунки Лист очікувань Альтернативні контакти Форум Новини ocStore Назад Офіційний сайт Демо ocStore 3.0.3.2 Демо ocStore 2.3.0.2.4 Завантажити ocStore Документація Історія версій ocStore Блоги Модулі Шаблони Назад Безкоштовні шаблони Платні шаблони Де купувати модулі? Послуги FAQ OpenCart.Pro Назад Демо Купити Порівняння × Створити... Important Information На нашому сайті використовуються файли cookie і відбувається обробка деяких персональних даних користувачів, щоб поліпшити користувальницький інтерфейс. Щоб дізнатися для чого і які персональні дані ми обробляємо перейдіть за посиланням . Якщо Ви натиснете «Я даю згоду», це означає, що Ви розумієте і приймаєте всі умови, зазначені в цьому Повідомленні про конфіденційність. Я даю згоду
florapraktik Опубліковано: 3 червня 2020 Share Опубліковано: 3 червня 2020 В 02.06.2020 в 17:10, matvens сказал: ...нужно закрыть возможность, публиковать фото размещенные на моем хосте по прямой ссылке на сторонних ресурсах. Собственно только ради желания убрать ненужную нагрузку на хост... Столько сайтов ссылаются на ваши картинки, что это создаёт значимую нагрузку на Ваш сервер? Есть народная примета, что ссылки, - это хорошо для трафика. Надіслати Поділитися на інших сайтах More sharing options...
igorekioo Опубліковано: 3 червня 2020 Share Опубліковано: 3 червня 2020 52 минуты назад, chukcha сказал: в том-то и дело, что показанное мною решение - прячет оригинальный путь, в отличие от стандартного решения Я сначала не понял, а потом как понял Вы от обратного пошли. Теперь бы только кто взялся обернуть это все в код. Правда на действующих магазинах пострадают уже проиндексированные изображения, если я правильно понял. Надіслати Поділитися на інших сайтах More sharing options...
chukcha Опубліковано: 3 червня 2020 Share Опубліковано: 3 червня 2020 1 минуту назад, igorekioo сказал: Правда на действующих магазинах пострадают уже проиндексированные изображения, если я правильно понял. К сожалению, да 2 минуты назад, igorekioo сказал: Теперь бы только кто взялся обернуть это все в код. хм, а чего бы я это такое придумывал, если код уже есть (где-то лежит) В чем еще преимущество такого кода - простота реализации именования имени файла, его можно на лету сделать транслитом от имени товара А вот тут .. самое интересное. Если на транслит в урл Г смотрит в самый последний момент, то в транслит картинки в один из первых + название каротинки получается чистым, без размерной линейки А также, при болщом количестве картинок, не собирает все в кучу а плавно распределяет по папкам Надіслати Поділитися на інших сайтах More sharing options... igorekioo Опубліковано: 3 червня 2020 Share Опубліковано: 3 червня 2020 8 минут назад, chukcha сказал: К сожалению, да хм, а чего бы я это такое придумывал, если код уже есть (где-то лежит) В чем еще преимущество такого кода - простота реализации именования имени файла, его можно на лету сделать транслитом от имени товара А вот тут .. самое интересное. Если на транслит в урл Г смотрит в самый последний момент, то в транслит картинки в один из первых + название каротинки получается чистым, без размерной линейки А также, при болщом количестве картинок, не собирает все в кучу а плавно распределяет по папкам Звучит отлично. Тем более если заготовки уже есть, может вы поскребете по сусекам, да выложите это все в виде модуля. Я думаю спрос на такое точно есть. А как себя поведут сторонние модули использующие миниатюры и другие кеш изображения (тот же sitemap)? Я так понимаю, если они сделаны с соблюдением архитектуры opencart то проблем не будет? Надіслати Поділитися на інших сайтах More sharing options... chukcha Опубліковано: 3 червня 2020 Share Опубліковано: 3 червня 2020 3 минуты назад, igorekioo сказал: А как себя поведут сторонние модули использующие миниатюры и другие кеш изображения без проблем, потому как модификатор вмешивается в модель Правда с именованием немного похуже, потмоу что имя сущноости, а в основном товар не передается Но дело в том , что верстка опенкарта не позволяет корректно индексировать картинки Г. в основном индексирует то, что лежит в src, а там почти всегда лежат превью Потмоу как то что лежит по ссылке (popup) нее имеет альтов, и окружающий текст очень далек (глубина dom) Надіслати Поділитися на інших сайтах More sharing options... 1 month later... igorekioo Опубліковано: 10 липня 2020 Share Опубліковано: 10 липня 2020 В 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 каталоге. Не подскажите, как правильно реализовать? Надіслати Поділитися на інших сайтах More sharing options... chukcha Опубліковано: 11 липня 2020 Share Опубліковано: 11 липня 2020 $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 Надіслати Поділитися на інших сайтах More sharing options... igorekioo Опубліковано: 11 липня 2020 Share Опубліковано: 11 липня 2020 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, '.')), только название файла, без пути. Надіслати Поділитися на інших сайтах More sharing options... chukcha Опубліковано: 11 липня 2020 Share Опубліковано: 11 липня 2020 Та не вопрос каким-либо образом пол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; Таким образом - название файла остается оригинальным, а путь - шифруется Надіслати Поділитися на інших сайтах More sharing options... igorekioo Опубліковано: 11 липня 2020 Share Опубліковано: 11 липня 2020 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, хотя шанс на это минимальный). Тогда наверное произойдет перезапись и будет неправильное изображение где-то, чего не хотелось бы. Или я где-то налажал? Надіслати Поділитися на інших сайтах More sharing options... chukcha Опубліковано: 12 липня 2020 Share Опубліковано: 12 липня 2020 12 часов назад, igorekioo сказал: Можно ли вот так это делать, через "pathinfo"? Вполне - я показал одно из решений Надіслати Поділитися на інших сайтах More sharing options... Назад 1 2 Вперед Сторінка 1 з 2 Створіть аккаунт або увійдіть для коментування Ви повинні бути користувачем, щоб залишити коментар Створити обліковий запис Зареєструйтеся для отримання облікового запису. Це просто! Зареєструвати аккаунт Вхід Уже зареєстровані? Увійдіть тут. Вхід зараз Share More sharing options... Передплатники 1 Перейти до списку тем Зараз на сторінці 0 користувачів Ні користувачів, які переглядиють цю сторінку Последние темы Последние дополнения Последние новости Вся активність Головна Opencart 2.x Opencart 2.x: Загальні питання Защита изображений Покупцям Оплата розширень фізичними особами Оплата розширень юридичними особами Політика повернень Розробникам Регламент розміщення розширень Регламент продажу та підтримки розширень Віртуальний обліковий запис автора Політика просування оголошень API каталогу розширень Вирішення спорів щодо авторських прав Корисна інформація Публічна оферта Політика повернень Політика конфіденційності Платіжна політика Політика передачі особистих даних Політика прозорості Останні розширення PRICE MASTER - Модуль імпорту/експорту товарів, парсинг, переклад, генерація текстів, редактор каталогу та багато іншого Автор: ScriptBrains 1.0 Синхронізація Замовлень Rozetka.ua та Opencart Автор: sinco Product Manipulator Автор: Hiperlynx007 Видалення дублікатів товарів для OpenCart Автор: Hatshypsut Вибір категорій і виробників для "Знайшли дешевше" шаблону Upstore Автор: Flint2000 × Уже зареєстровані? Ввійти Реєстрація Ваші замовлення Назад Придбані модулі та шаблони Ваші рахунки Лист очікувань Альтернативні контакти Форум Новини ocStore Назад Офіційний сайт Демо ocStore 3.0.3.2 Демо ocStore 2.3.0.2.4 Завантажити ocStore Документація Історія версій ocStore Блоги Модулі Шаблони Назад Безкоштовні шаблони Платні шаблони Де купувати модулі? Послуги FAQ OpenCart.Pro Назад Демо Купити Порівняння × Створити... Important Information На нашому сайті використовуються файли cookie і відбувається обробка деяких персональних даних користувачів, щоб поліпшити користувальницький інтерфейс. Щоб дізнатися для чого і які персональні дані ми обробляємо перейдіть за посиланням . Якщо Ви натиснете «Я даю згоду», це означає, що Ви розумієте і приймаєте всі умови, зазначені в цьому Повідомленні про конфіденційність. Я даю згоду
igorekioo Опубліковано: 3 червня 2020 Share Опубліковано: 3 червня 2020 8 минут назад, chukcha сказал: К сожалению, да хм, а чего бы я это такое придумывал, если код уже есть (где-то лежит) В чем еще преимущество такого кода - простота реализации именования имени файла, его можно на лету сделать транслитом от имени товара А вот тут .. самое интересное. Если на транслит в урл Г смотрит в самый последний момент, то в транслит картинки в один из первых + название каротинки получается чистым, без размерной линейки А также, при болщом количестве картинок, не собирает все в кучу а плавно распределяет по папкам Звучит отлично. Тем более если заготовки уже есть, может вы поскребете по сусекам, да выложите это все в виде модуля. Я думаю спрос на такое точно есть. А как себя поведут сторонние модули использующие миниатюры и другие кеш изображения (тот же sitemap)? Я так понимаю, если они сделаны с соблюдением архитектуры opencart то проблем не будет? Надіслати Поділитися на інших сайтах More sharing options...
chukcha Опубліковано: 3 червня 2020 Share Опубліковано: 3 червня 2020 3 минуты назад, igorekioo сказал: А как себя поведут сторонние модули использующие миниатюры и другие кеш изображения без проблем, потому как модификатор вмешивается в модель Правда с именованием немного похуже, потмоу что имя сущноости, а в основном товар не передается Но дело в том , что верстка опенкарта не позволяет корректно индексировать картинки Г. в основном индексирует то, что лежит в src, а там почти всегда лежат превью Потмоу как то что лежит по ссылке (popup) нее имеет альтов, и окружающий текст очень далек (глубина dom) Надіслати Поділитися на інших сайтах More sharing options... 1 month later... igorekioo Опубліковано: 10 липня 2020 Share Опубліковано: 10 липня 2020 В 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 каталоге. Не подскажите, как правильно реализовать? Надіслати Поділитися на інших сайтах More sharing options... chukcha Опубліковано: 11 липня 2020 Share Опубліковано: 11 липня 2020 $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 Надіслати Поділитися на інших сайтах More sharing options... igorekioo Опубліковано: 11 липня 2020 Share Опубліковано: 11 липня 2020 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, '.')), только название файла, без пути. Надіслати Поділитися на інших сайтах More sharing options... chukcha Опубліковано: 11 липня 2020 Share Опубліковано: 11 липня 2020 Та не вопрос каким-либо образом пол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; Таким образом - название файла остается оригинальным, а путь - шифруется Надіслати Поділитися на інших сайтах More sharing options... igorekioo Опубліковано: 11 липня 2020 Share Опубліковано: 11 липня 2020 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, хотя шанс на это минимальный). Тогда наверное произойдет перезапись и будет неправильное изображение где-то, чего не хотелось бы. Или я где-то налажал? Надіслати Поділитися на інших сайтах More sharing options... chukcha Опубліковано: 12 липня 2020 Share Опубліковано: 12 липня 2020 12 часов назад, igorekioo сказал: Можно ли вот так это делать, через "pathinfo"? Вполне - я показал одно из решений Надіслати Поділитися на інших сайтах More sharing options... Назад 1 2 Вперед Сторінка 1 з 2 Створіть аккаунт або увійдіть для коментування Ви повинні бути користувачем, щоб залишити коментар Створити обліковий запис Зареєструйтеся для отримання облікового запису. Це просто! Зареєструвати аккаунт Вхід Уже зареєстровані? Увійдіть тут. Вхід зараз Share More sharing options... Передплатники 1 Перейти до списку тем Зараз на сторінці 0 користувачів Ні користувачів, які переглядиють цю сторінку Последние темы Последние дополнения Последние новости Вся активність Головна Opencart 2.x Opencart 2.x: Загальні питання Защита изображений Покупцям Оплата розширень фізичними особами Оплата розширень юридичними особами Політика повернень Розробникам Регламент розміщення розширень Регламент продажу та підтримки розширень Віртуальний обліковий запис автора Політика просування оголошень API каталогу розширень Вирішення спорів щодо авторських прав Корисна інформація Публічна оферта Політика повернень Політика конфіденційності Платіжна політика Політика передачі особистих даних Політика прозорості Останні розширення PRICE MASTER - Модуль імпорту/експорту товарів, парсинг, переклад, генерація текстів, редактор каталогу та багато іншого Автор: ScriptBrains 1.0 Синхронізація Замовлень Rozetka.ua та Opencart Автор: sinco Product Manipulator Автор: Hiperlynx007 Видалення дублікатів товарів для OpenCart Автор: Hatshypsut Вибір категорій і виробників для "Знайшли дешевше" шаблону Upstore Автор: Flint2000
igorekioo Опубліковано: 10 липня 2020 Share Опубліковано: 10 липня 2020 В 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 каталоге. Не подскажите, как правильно реализовать? Надіслати Поділитися на інших сайтах More sharing options...
chukcha Опубліковано: 11 липня 2020 Share Опубліковано: 11 липня 2020 $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 Надіслати Поділитися на інших сайтах More sharing options... igorekioo Опубліковано: 11 липня 2020 Share Опубліковано: 11 липня 2020 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, '.')), только название файла, без пути. Надіслати Поділитися на інших сайтах More sharing options... chukcha Опубліковано: 11 липня 2020 Share Опубліковано: 11 липня 2020 Та не вопрос каким-либо образом пол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; Таким образом - название файла остается оригинальным, а путь - шифруется Надіслати Поділитися на інших сайтах More sharing options... igorekioo Опубліковано: 11 липня 2020 Share Опубліковано: 11 липня 2020 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, хотя шанс на это минимальный). Тогда наверное произойдет перезапись и будет неправильное изображение где-то, чего не хотелось бы. Или я где-то налажал? Надіслати Поділитися на інших сайтах More sharing options... chukcha Опубліковано: 12 липня 2020 Share Опубліковано: 12 липня 2020 12 часов назад, igorekioo сказал: Можно ли вот так это делать, через "pathinfo"? Вполне - я показал одно из решений Надіслати Поділитися на інших сайтах More sharing options... Назад 1 2 Вперед Сторінка 1 з 2 Створіть аккаунт або увійдіть для коментування Ви повинні бути користувачем, щоб залишити коментар Створити обліковий запис Зареєструйтеся для отримання облікового запису. Це просто! Зареєструвати аккаунт Вхід Уже зареєстровані? Увійдіть тут. Вхід зараз Share More sharing options... Передплатники 1 Перейти до списку тем Зараз на сторінці 0 користувачів Ні користувачів, які переглядиють цю сторінку Последние темы Последние дополнения Последние новости Вся активність Головна Opencart 2.x Opencart 2.x: Загальні питання Защита изображений
igorekioo Опубліковано: 11 липня 2020 Share Опубліковано: 11 липня 2020 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, '.')), только название файла, без пути. Надіслати Поділитися на інших сайтах More sharing options...
chukcha Опубліковано: 11 липня 2020 Share Опубліковано: 11 липня 2020 Та не вопрос каким-либо образом пол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; Таким образом - название файла остается оригинальным, а путь - шифруется Надіслати Поділитися на інших сайтах More sharing options... igorekioo Опубліковано: 11 липня 2020 Share Опубліковано: 11 липня 2020 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, хотя шанс на это минимальный). Тогда наверное произойдет перезапись и будет неправильное изображение где-то, чего не хотелось бы. Или я где-то налажал? Надіслати Поділитися на інших сайтах More sharing options... chukcha Опубліковано: 12 липня 2020 Share Опубліковано: 12 липня 2020 12 часов назад, igorekioo сказал: Можно ли вот так это делать, через "pathinfo"? Вполне - я показал одно из решений Надіслати Поділитися на інших сайтах More sharing options... Назад 1 2 Вперед Сторінка 1 з 2 Створіть аккаунт або увійдіть для коментування Ви повинні бути користувачем, щоб залишити коментар Створити обліковий запис Зареєструйтеся для отримання облікового запису. Це просто! Зареєструвати аккаунт Вхід Уже зареєстровані? Увійдіть тут. Вхід зараз Share More sharing options... Передплатники 1 Перейти до списку тем Зараз на сторінці 0 користувачів Ні користувачів, які переглядиють цю сторінку
igorekioo Опубліковано: 11 липня 2020 Share Опубліковано: 11 липня 2020 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, хотя шанс на это минимальный). Тогда наверное произойдет перезапись и будет неправильное изображение где-то, чего не хотелось бы. Или я где-то налажал? Надіслати Поділитися на інших сайтах More sharing options...
chukcha Опубліковано: 12 липня 2020 Share Опубліковано: 12 липня 2020 12 часов назад, igorekioo сказал: Можно ли вот так это делать, через "pathinfo"? Вполне - я показал одно из решений Надіслати Поділитися на інших сайтах More sharing options... Назад 1 2 Вперед Сторінка 1 з 2 Створіть аккаунт або увійдіть для коментування Ви повинні бути користувачем, щоб залишити коментар Створити обліковий запис Зареєструйтеся для отримання облікового запису. Це просто! Зареєструвати аккаунт Вхід Уже зареєстровані? Увійдіть тут. Вхід зараз Share More sharing options... Передплатники 1
Recommended Posts