Comments 80
Обратный сбор картинки легко можно усложнить, изменив название с прямолинейного«строка_столбец».жпг на любой другой алгоритм
Это мы с вами умеем писать скрипты. А условное "агенство", которому понравились ваши фотки, писать скрипты не умеет и поэтому не сможет их у вас украсть.
Другое дело, что в жизни этот способ вряд ли сможет применяться. Он а) реализуем только на собственном сайте, б) накладывает на автора ограничение не выкладывать фотки больше нигде и в) это вряд ли полезно для раскрутки.
Варламов Илья так подал в суд на несколько изданий, которые стырили его котиков из блога. Что-то мне подсказывает, так могут и юридические тролли делать.
А расходы на юристов компенсируются за счет ответчика, тем более что все иски типовые под копирку, и не особо запутанные сами по себе.
Один раз пришлось спорить с телеканалом, и телеканал выиграл. Другой раз пришлось доказывать, что СМИ не имеет права цитировать фотографию, и СМИ выиграло.
О репутационных потерях в его случаях я не слышал. Если вы слышали о репутационных потерях от копирайта, будьте добры, расскажите. Спасибо!
А про сбор обратно при помощи скрипта — как я ответил выше, если заменить алгоритм загрузки на более сложный, а не по названию, как сейчас — написать скрипт будет еще сложнее, тем более свой для каждого подобного сайта
Для сайтов знакомств, соцсетей, фотохостингов не нужны картинки супер-качества и супер-детальные, поэтому с помощью принтскрина скопировать таки можно будет. Может от поиска по фотографии это и защитит(хотя он итак в последнее время урезается силами соцсетей), но от копирования уже выложенного никак, небольшие потери качества никак не повлияют на поиск, да и всегда можно собрать картинку обратно
Единственное интересное что еще приходит на ум для использования такого подхода — ленивая загрузка изображений, где асинхронно постепенно подгружаются кусочки высокого качества. Это можно даже совместить с технологией, когда сначала грузится легкая некачественная картинка, а потом на ее место по кускам детализированная
"Может от поиска по фотографии это и защитит"
Есть куча утилит для скриншотов. Одна из функций у них — загрузка сделанного скриншота на хостинг. А с него уже нетрудно запустить поиск по изображению.
![image](https://habrastorage.org/getpro/habr/comment_images/0e4/f67/ca3/0e4f67ca35c555db6fa0c1a82ae36fb1.png)
именно так оно выглядит, если у человека масштаб не 100%. есть такая проблема у движков браузеров, масштабирования и округления. если элементы собраны из нескольких тайлов, при масштабировании рандомно становятся видны артефакты математики с округлением. проблема не такая редкая, как может показаться, например огромное количество людей в современном мире работает за 2к мониторами с масштабом 120% в браузере и сайты сделаные с такой наивной идеей о том что элементы можно собрать из тайлов выглядят именно так. не знаю почему об этом ещё никто не сказал. браузеры во многом сейчас рассчитаны на то что элементы будут спрайтами с композицией (один элемент — один спрайт и они все могут быть наложены друг на друга и залезать друг на друга).
огромное количество людей в современном мире работает за 2к мониторами с масштабом 120% в браузере и сайты сделаные с такой наивной идеей о том что элементы можно собрать из тайлов выглядят именно такНу это так, небольшие артефакты. А если выбрать нестандартный размер текста, то вёрстка едет настолько, что часть текста невозможно прочитать, причём ладно бы у подобных самоделок — так у всяких гигантов типа Амазона такие проблемы. Я как-то отправил им скриншот с примером нечитаемого текста, так они мне ответили, что это якобы фишинг, а не Амазон.
В качестве защиты идея так себе. Кто захочет стянуть исходную фотку, сделает это на раз, быть может даже браузерным скриптом (у вас же простая сетка с предопределёнными названиями файлов).
Мне в голову сходу приходит другой вариант: Перед отдачей пользователю картинка режется на случайные кусочки, как и по количеству, так и по размерам. В браузер они приходят одноразовыми ссылками вместе с координатами, куда в окно влепить.
Если вход закрыт авторизацией, то единственный способ собрать картинку — включить какой-нибудь анализатор трафика и честно дождаться, пока придут все фрагменты, а потом повторить работу скрипта по отрисовке всего этого вместе.
Тоже не гарантия, но сделать будет уже посложнее.
Но стоит все картинки отдавать пользователю с одним названием, как пример, выгружая их из разных папок, одна затирая другую на сервере — и все, собрать можно только перебором или решая увлекательный паззл.
Тут как в классике шифрования — нужен одноразовый секрет, который максимально сложно получить пользователю.
Тут, кстати, можно сделать ещё один уровень сложности для прокрастинаторов: пусть картинка собирается действительно из случайных фрагментов. Чем выше уровень, тем мельче фрагменты и более разбросаны они по картинке. Надо только подобрать хорошую функцию распределения, чтобы покрытие стремилось к 100% за определённое время.
Но стоит все картинки отдавать пользователю с одним названием, как пример, выгружая их из разных папок, одна затирая другую на сервере — и все, собрать можно только перебором или решая увлекательный паззл.
Чего вдруг? Зачем там перебор? Ровно как и пользователь, скрипт получит одну за другой все «одноразовые ссылки», скачает фрагменты и соберет изображение в одно целое.
Решается inject'ом JS кода на страницу (можно через "консоль разработчика", можно кучей других способов), там и координаты будут доступны и страничку можно разобрать как угодно.
Да, первый попавшийся уже ничего не сделает, но при небольшой доле желания справиться с этим не так уж и сложно.
Ну, короче, вы молодец. Возьмите с полки голубец. От Ивана Семеновича.
да-да, скачивал книжки с "библиотеки Ельцина", где они порезаны этой фигнёй.
Понятно, что им этого может не очень то и хотелось.
Но — есть либа, есть для ней стандартный интерфейс.
Есть ограничение по лимитам (типа, чтоб никто зараз всю картинку не скачал, потому что большая!).
Ну ок, вытягиваем список страниц, выясняем лимиты. И запускаем достаточно простой скрипт. Вытягиваем 8 тайлов каждой страницы (с максимальным качеством, но чтобы попасть в лимит). Склеиваем (не в фотошопе; там же, в консоли, с помощью imagemagick). Всё скриптуем — и вуаля, вот 635 jpeg на 635-страничную книгу, все в максимально отданном качестве. Можно перегонять в tiff и скармливать в pdfbeads.
А по поводу защиты — ну, какая-то есть, но разве что от случайных людей и тех, кому копирование особо-то и не нужно было. Переименование картинок и другие «усложнения» не помогут — для человека, знакомого с веб-разработкой, это всё равно будет задачка на 20 минут.
OpenSeaDragon?
Мало смысла.
От тех, кто целенаправленно хочет спарсить — не спасёте. Либо человек сам скрипты напишет, либо найдет фрилансеров, которые "за недорого" сделают парсер именно под ваш сайт.
Наитупейшая блокировка копирования в буфер обмена и то будет полезней (ох как бесят придурки, которые "для защиты своего сайта" блокируют буфер обмена… и не дают скопировать свой адрес и телефон (!!!), чтобы банально посмотреть как к ним добираться).
p.s. Кстати, можно поиграться с отдачей одной картинки, внутри которой блоки поменяны местами, а на правильные места на экране выводить их средствами JS. Ну или просто отдавать юзеру отзеркаленную картинку, а при отображении зеркалмть её обратно.
Принтскрин? – картина высокого качества и выходит за пределы видимой области.
Клик правой кнопкой мыши, «take a screenshot», «save full page». Либо выделить нужный элемент и только его.
меньшить масштаб и принсринить? – потеря в качества.Для реверсивного поиска это не важно.
А те кому надо спереть картинку — те сопрут, пускай даже просто открыванием окна на симулируемом десктопе с большим разрешением. От принтскрина ничто не защитит. единственная более-менее эфективная защита — как на сток сайтах, показ зашакаленой версии с ватермарками, а фуллрез за денежку. Но и она не спасет от благородных меценатов согласных потратить своих денег для того чтобы выложить картинку для всех остальных, художники с патреона с этим уже сталкивались, сталкиваются, и будут сталкиваться.
Разумеется, можно всячески мешать людям это делать. Вот только защита будет затруднят работу в первую очередь нормальным честным посетителя — и всё кончится тем, что Вы останетесь со своими драгоценными картинками, но без посетителей.
Баловаться с DRM и не разориться — могут разве что монополисты уровня MicroSoft (и то в последние году из-за появления и развития Linux — MicroSoft предпочитает терпеть пиратов, а не преследовать их, цепляя также законных пользователей).
Поддерживает jpg, jpeg, png, bmp, gif любой размер.
![image](https://habrastorage.org/webt/b5/jq/as/b5jqasiiysa3zkx_grs2gsbmnjq.jpeg)
Опера. Закидываем в шоп и вауля. секунд 5 занимает. Или плагин Fireshot
ЗЫ для обратного вывода тайлов можно кстати использовать какой-нибудь движок карт, например leaflet, правда у него присутствует точно такая же бага с отрисовкой границ тайлов при масштабировании.
Если картинка ваша — в чем проблема обратного поиска? Тот, кто ищет картинку, прийдет к вам, что плохого?
Если картинка получена из других источников… Нет, это не воровство, но немного попахивает.
Ну, и как только контент доставлен на клиентское устройство — всё. Клиент может делать с ним что угодно. Единственный способ — выпускать свои собственные устройства потребления контента (Amazon Kindle), да и то не 100% гарантия.
А так, вы почти сделали старое доброе шифрование перестановкой.
В японии такой тип "защиты" уже достаточно давно практитуется.
Покупаешь мангу, а тебе специальный вьювер… который из вот таких картинок и json делает читабильные картинки.
Накидал для тестов (jpeg only, 50kb max, 350px по любой из сторон)
nickyx3.ru
Кому надо — всё равно соберут обратно и выкачают, но только в вашем случае лишнюю боль испытают ещё и люди с проблемами зрения, которым скринридер 600 раз скажет "Изображение"
у гугла 2 или даже более сервисов(точно могу сказать только о двух — это карты и сервис просмотра картинных галерей и музеев, картин в высоком качестве, Гугл Арт или как то так) используют такой тайловый принцип построения изображений. в принципе достаточно открыть нетворк в консоли браузера и выдрать все куски. склейка в фш или ручками не составляет проблем. с таким же успехом можно в стили прописывать бэкграунд картинки и выключать правый клик на боди, уровень защиты примерно тот же.
А так есть даже проще способ защиты, делаете поверх картинки прозрачный элемент с z-index выше чем у картинки и правой кнопкой мыши уже не получится сохранить картинку.
Или вешаете событие на правый клик, которое будет заменять/уничтожать путь до картинки
Но конечно от скриншота уже ничего не поможет )
Хотя я давано как-то делал для интернет-магазина защиту от нажатия кнопки принт-скрина, она заносила в бан этот ip и все следующие страницы просто не открывались у него, вот такое было ТЗ )
Делать кучу файлов из одной картинки, тоже не айс, т.к. файлы могут физически находиться далеко друг от друга на диске. Лучше порезать всё в один общий файл, а к нему обращаться по смещению. Так меньше фрагментация и скорость доступа
Топорная (почти буквально) защита изображений от копирования