Предлагаю для обсуждения вариант достаточно грубой защиты от копирования и обратного поиска изображений.
![](https://habrastorage.org/webt/ui/s9/2m/uis92meueya1o18_lo-sxwrbggw.jpeg)
Введение
Любая – даже самая безумная или очевидная мысль появляется в голове не просто так, а в результате определенных событий.
В моем случае таким событием было создание маленького проекта АртТаймер, целью которого является борьба с прокрастинацией и увеличение мотивации для занятия «офф-лайн» делами за пределами девайса.
Идей, как это осуществить, было множество, а вот ресурсов – ограничено, с чем и пришлось работать. В итоге фундаментом выбрал библиотеку картин очень высокого разрешения, которые я когда-то давно сохранил (коллекция Эрмитажа и Лондонской галереи).
Как это выглядит? Думаю многие помнят времена dial-up интернета, когда изображения постепенно открывались по кусочкам до полной загрузки (или до звука «чоп» из модема, который свидетельствовал об обрыве связи).
![](https://habrastorage.org/webt/ee/zx/zb/eezxzbpbv5kzektzuufoeg4e-cq.jpeg)
Собственно, дух старой школы и был реализован в АртТаймере. Произведение искусства постепенно появляется в браузере, если пользователь не переключается между вкладками и окно открыто на максимум. Среднее время открытия картины – 45 минут.
Если кто-то вытерпит подобное хотя бы до 11 уровня – время полезных офф-лайн занятий составит около 7 часов!
Суть
В ходе реализации проекта столкнулся с проблемой – необходимо было разделять картины на большое количество кусочков, чтобы постепенно отдавать их пользователю. Поиск «в лоб» в гугле никаких вразумительных результатов не дал – ни инструментов, ни сервисов для подобного за беглые минуты поиска я не нашел и было принято решение написать для этой задачи скрипт на PHP.
Пример такого разобранного и собранного обратно изображения — фото бегемотика Фионы , поделенная на 600 кусочков.
Если я ничего не упускаю, то подобный вариант хранения изображений сильно увеличит защищенность контента от копирования и реверсивного поиска.
- Принтскрин? – картина высокого качества и выходит за пределы видимой области.
- Уменьшить масштаб и принтсринить? – потеря в качества.
- Выкачать из кэша? — все те самые 600 кусочков фотографии.
Ведь если применить подобный подход для сайтов знакомств, соцсетей, фотохостингов – можно избавиться от ряда достаточно неприятных проблем.
Конечный пользователь может смотреть на изображение какого угодно высокого качества, а вот скачать и использовать дальше без разрешения – нет.
Для оценки работоспособности идеи придал более-менее приемлемый вид своему php скрипту и выложил для общего доступа imageslicer.online.
![](https://habrastorage.org/webt/lh/2-/_d/lh2-_dh4fs-cjswym9suqqojdz4.jpeg)
В нем можно задать, на сколько кусочков порезать изображение по ширине и высоте, после чего будет сгенерирован html файл с собранной картинкой.
Итог
Наверняка подобный метод предлагался ранее, уж слишком он грубый и простой. Но ведь проблемы копирования явно помогает решать и кому-то может быть легче заплатить условный доллар хостингу контента за качественное фото или картинку, чем собирать ее самостоятельно по кусочкам в фотошопе.
Как правило для защиты изображений применяются canvas с нанесением копирайта, но это достаточно легко можно исправить в фоторедакторе плюс портит внешний вид изображения.
Да, если речь зашла о canvas — можно собирать изображение и в них, а не в table, как реализовано сейчас. Это более современное решение, но оно не имеет преимущества над таблицей, так как всю ту же табличную структуру придется реализовывать в canvas.
Вот, собственно, и все. Хотел бы услышать мнения о подводных камнях такого подхода или увидеть примеры, где что-то похожее применяется.
vdem
Вы написали PHP-скрипт, который режет картинку на кусочки. Почему бы кому-то не написать PHP-скрипт, который собирает ее из кусочков? Photoshop для этого не нужен.
Eugenenen Автор
100% гарантию от копирования, как я понимаю, на данный момент не дает ничего. А вот добавить препятствий, когда легче пользоваться сервисом согласно правилам — вполне можно.
Обратный сбор картинки легко можно усложнить, изменив название с прямолинейного«строка_столбец».жпг на любой другой алгоритм
vdem
Можно определять положение кусочка картинки в ней не по названию файла, а по позиции в таблице. ИМХО овчинка выделки не стоит.
Barbaresk
можно даже без позиции определить. Края у соприкасающихся кусочков одинаковые. Аналогично можно после шрёдера собрать документ
Huan
Можно резать с перекрытием, сложность возрастает, но если сильно надо
Eugenenen Автор
Перекрытия не сильно спасут от обратной сборки, если они единообразны для всех кусков. Скрипт просто будет накладывать со смещением.
А вот если размер перехлеста плавающий — да, это определенно добавит сложности.
Huan
Вообще это все так, ум размять) На самом деле в том же FF есть пункт Screenshot node, просто скриншотится нода содержащая все картинки и все.
Eugenenen Автор
Да, в комментариях упоминали. Но это уж совсем нечестно)