Comments 46
Думаю, как раз неопытный пользователь будет делать скриншот (и вставлять его в Word)
+17
Стандартный вопрос — с кешем браузера и принтскрином что делать?
+3
Canvas не пробовали?
+4
Хмммм… Хитроумно… Но зачем?
Все что попадает на сторону пользователя можно перехватить. От банального Printscreen, но копания в кеше браузера (последнее врядли можно как-то обойти).
Я уж не говорю о разного рода «грабилках», который вполне себе замечательно детектят поток по content-type и позволяют выгрести графику «на лету».
А от неопытных картинку зачем защищать?
Все что попадает на сторону пользователя можно перехватить. От банального Printscreen, но копания в кеше браузера (последнее врядли можно как-то обойти).
Я уж не говорю о разного рода «грабилках», который вполне себе замечательно детектят поток по content-type и позволяют выгрести графику «на лету».
А от неопытных картинку зачем защищать?
+9
Зачем, если скриншот делается легко, очень легко.
+3
Легче, как по мне, уже защитить ее надписью, а так выдрать всегда можно
+3
Считаю, оно не стоит того, чтобы прибегать к таким вещам как хранение картинок в БД и отдача их через PHP.
Все таки, картинки это статика, которая должна отдаваться сервером напрямую (через nginx, например), а не «нагинать» серв выполнением PHP/ запросами БД.
Все таки, картинки это статика, которая должна отдаваться сервером напрямую (через nginx, например), а не «нагинать» серв выполнением PHP/ запросами БД.
+7
В БД только информация о картинках. Файл images_db.php заменяет базу в данном примере.
+1
Для этих целей у nginx-а есть такая штука, как internal redirect. Т. е. php-скрипт возвращает хитрый заголовок, а nginx вместо него отдаёт файл из директории, куда обычно доступа не даёт.
+5
А вот это уже интересней, спс.
Недавно где -то видел упоминание о таком, но не знал, как называется.
Недавно где -то видел упоминание о таком, но не знал, как называется.
0
для картинок это не выгодно. Проще nginx'у отдать выдачу их напрямую, без запроса в php. Ибо картинок много — дергать backend ради того чтоб получить x-accel-redirect накладно. Это удобно для больших файлов, flv-видео и т.п. где надо проверить наличие файла и/или права доступа к нему.
0
Это конечно все понятно и с вами полностью согласен. Но я вижу использование x-accel-redirect, например при такой ситуации: есть магазин фотографий. например 640x480 фотки показываются напрямую. А вот при покупке, давать юзеру фотку (большую, качественную, допустим 10k x 10к пикселей) уже через nginx, «хитрый редиректом».
(пример конечно притянут за уши, но для такого случая подойдет, думаю -, когда защищаются не картинки верстки/и вообще, часто запрашиваемые, а вот такой «скачиваемый контент»).
(пример конечно притянут за уши, но для такого случая подойдет, думаю -, когда защищаются не картинки верстки/и вообще, часто запрашиваемые, а вот такой «скачиваемый контент»).
0
Ну когда я говорил о больших файлах я не имел ввиду что-то конкретное. Это может быть «платный» контент, большие файлы со скрытыми ссылками на них, flv-видео и любой другой контент, к которому необходимо ограничить доступ тем или иным способом (в том числе генерация уникальных урлов для файлов и последующая проверка урла в backend'е и выдача nginx'у правильного имени в internal). Я вот flv так отдаю со стораджей, которых много и id стораджа прописано у файлика в базе.
0
FF: Инструменты — Информация о странице — Мультимедиа — Сохранить как…
Как это обойти?
P.S.: не понимаю смысла написания этой статьи.
Скриншоты тут не причём.
Как это обойти?
P.S.: не понимаю смысла написания этой статьи.
Скриншоты тут не причём.
+5
Вроде всё тривиально. Небольшие картинки ещё можно в CSS включить, обычный юзер долго будет линк искать. Пример от гугла.
+2
FF: Анализировать элемент(FireBug) — Наводим на длинный путь в стилях — Открыть картинку в новой закладке
P.S.:
Вот многие выше говорят для «обычного(неопытного) пользователя»: вы сами себя не обманывайте. Всегда акцент нужно ставить на максимально возможный результат. Если бы так охранные системы работали как вы говорите: «вор с малым опытом ваш замок не откроет».
Единственное верное решение защиты картинок вероятно водяные знаки скомпилированные на картинке.
Или же просто разграничение прав доступа на большой исходник.
P.S.:
Вот многие выше говорят для «обычного(неопытного) пользователя»: вы сами себя не обманывайте. Всегда акцент нужно ставить на максимально возможный результат. Если бы так охранные системы работали как вы говорите: «вор с малым опытом ваш замок не откроет».
Единственное верное решение защиты картинок вероятно водяные знаки скомпилированные на картинке.
Или же просто разграничение прав доступа на большой исходник.
0
С ФФ 8.0 не надо ничего искать. Клик правой кнопкой на картинку, «View background image» и затем «Save as ...»
0
Outpost Firewall в свое время блокировал по умолчанию рефереры из «соображений безопасности».
Соразмерное количество проксиков делает то же самое, особенно в организациях.
У некоторых интернет-провайдеров в пакет «безопасности», кроме антивируса для проверки траффика входит так же обрезание рефереров.
Ввиду вышесказанного — оно точно того стоит? Потеря части аудитории, шлющей тоннами письма «у Вас кривой сайт ничего не работает» и рассказывающей друзьям о том, что «не ходи туда там глючный сайт где ничего не работает»… Да, небольшой части, но надо учесть и то, от насколько «большой» части поможет этот метод.
Соразмерное количество проксиков делает то же самое, особенно в организациях.
У некоторых интернет-провайдеров в пакет «безопасности», кроме антивируса для проверки траффика входит так же обрезание рефереров.
Ввиду вышесказанного — оно точно того стоит? Потеря части аудитории, шлющей тоннами письма «у Вас кривой сайт ничего не работает» и рассказывающей друзьям о том, что «не ходи туда там глючный сайт где ничего не работает»… Да, небольшой части, но надо учесть и то, от насколько «большой» части поможет этот метод.
+1
Ещё одна статья про борьбу с ветряными мельницами.
+14
UFO just landed and posted this here
для повышения производительности
О какой производительности вы говорите, используя GD только для отдачи бинарника файла?
echo file_get_contents($img_path);
+2
А еще изображение можно порезать на кучу маленьких частей и собирать их только в браузере :) — даже реферер не надо проверять — пусть мучаются, склеивая миллионы отдельных пикселей!
Остается только придумать как обойти принтскрин… :)
Остается только придумать как обойти принтскрин… :)
+1
И почему все так боятся, что кто-то украдёт их тексты, посты, предложения и картинки?
+5
Вспоминается как я ещё совсем ребенком скрины делал фотоаппаратом =)
+1
М, а если сохранить страницу, разве картинка не сохранится вместе с ней?
0
Такое ощущение, что я попал в прошлое.
+1
<code class="php">$image = imagecreatefrompng($img_path); header("Content-Type: image/png"); imagepng($image);</code>
Бля, даже наши челябинские мужики в шоке от вашего способа отдачи картинок. Какое к черту «повышение производительности»? Вы же каждую картинку пережимаете при отдаче!
А строчка
$images[intval($_GET['id'])]
намекает на то, что где-то внутри images_db.php у вас вся база картинок читается в один массив $images.Да, getimagesize на каждое изображение — тоже ппц, не способствующий «повышению производительности».
+1
Могу, конечно, ошибаться, но:
Все это к тому, что идеальных защит нет и приносить в жертву скорость не особо корректно. ИМХО.
curl --referer example.ru/ example.ru/image.php?id=222
Все это к тому, что идеальных защит нет и приносить в жертву скорость не особо корректно. ИМХО.
0
> Теперь при прямом обращении к адресу example.ru/image.php?id=123 мы получим картинку no_image.jpg, так > как заголовок referrer не передаётся.
mod_rewrite и похожая вещь в nginx работают значительно быстрее чем вызов скрипта.
mod_rewrite и похожая вещь в nginx работают значительно быстрее чем вызов скрипта.
+1
Защитить — не защитишь, но положив поверх прозрачный png, да ещё как фон в обвёртночном диве в качестве фона (с z-index'ом повыше разумеется, но лучше без него, об этом ниже) — можно хоть подъ… подколоть (:
Видишь пичу — сохраняешь как обычно правым кликом, а скачивается пустышка. Не раз видел лица жертв, оно того стоит.
Видишь пичу — сохраняешь как обычно правым кликом, а скачивается пустышка. Не раз видел лица жертв, оно того стоит.
0
А как защититься от сохранения страницы целиком? Например, в IE это File -> Save As -> Webpage, Complete
0
Sign up to leave a comment.
Защита от сохрания изображений