Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > PHP: Общие вопросы > Защита картинки от скачивания


Автор: JDmitry 18.6.2009, 12:02
Задачача такая:
Есть картинка нормальная: надо скриптом её нарезать на кусочки приэтом не сохранять на сервере после нарезки создать таблицу и отдать пользывателю
Теперь вопрос:
Как реализовать такую нарезку Таблици вывод и остальное всё сделаю, желательно частей так 10-15
 smile 
Спасибо

Автор: icewind 18.6.2009, 12:39
Все защиты картинок от скачивания - пустая трата времени. Никто не мешает сохранить все куски и склеить ( для тех кто не ищет легких путей  smile  ), для всех остальных Print Screen никто не отменял

Автор: MoLeX 18.6.2009, 12:45
JDmitry, както глупо резать ее на несколько частей
http://www.codenet.ru/webmast/php/antidownloaders/
http://www.google.ru/search?hl=ru&q=php+%D0%BA%D0%B0%D0%BA+%D0%B7%D0%B0%D1%89%D0%B8%D1%82%D0%B8%D1%82%D1%8C+%D0%BA%D0%B0%D1%80%D1%82%D0%B8%D0%BD%D0%BA%D1%83+%D0%BE%D1%82+%D1%81%D0%BA%D0%B0%D1%87%D0%B8%D0%B2%D0%B0%D0%BD%D0%B8%D1%8F&btnG=%D0%9F%D0%BE%D0%B8%D1%81%D0%BA+%D0%B2+Google&lr=lang_ru%7Clang_uk&aq=f&oq=

Автор: Elfet 18.6.2009, 14:00
Лучше всего - вотермарк на всю картинку.

Автор: JDmitry 18.6.2009, 14:06
Да хочет пусть скренит и по кускапм клеить задача в том что бьы затруднить пользывателю скачку картинки целеком ))
скачаит склеит ну пусть десяток а потом ему просто надоест
Кто может помочь ?? спасибо за скрипты и за ответы но это всё не решает проблемы

Автор: MoLeX 18.6.2009, 14:13
JDmitry, можно запретить на уровни клиента через JS

Автор: JDmitry 18.6.2009, 14:16
MoLeX, например как ? и можно ли будет флешгетом скачать картинку ?
Дело в том что нарезка картинки и не суперский способ но качалками не скачаиш

Автор: MoLeX 18.6.2009, 14:35
Цитата(JDmitry @  18.6.2009,  14:16 Найти цитируемый пост)
и можно ли будет флешгетом скачать картинку ?
Дело в том что нарезка картинки и не суперский способ но качалками не скачаиш 

тогда отдавай через скрипт, а в скрипте проверяй юзер это или нет

http://www.google.ru/search?hl=ru&q=js+%D0%B7%D0%B0%D1%89%D0%B8%D1%82%D0%B0+%D0%BA%D0%B0%D1%80%D1%82%D0%B8%D0%BD%D0%BA%D0%B8&btnG=%D0%9F%D0%BE%D0%B8%D1%81%D0%BA+%D0%B2+Google&lr=lang_ru%7Clang_uk&aq=f&oq=

Автор: Elfet 18.6.2009, 14:52
Это всё не поможет: Firefox - Инструменты - Информация о странице - Мультимедиа 

Автор: azesmcar 18.6.2009, 15:02
JDmitry

Я не понимаю - зачем создавать себе проблемы? Разбиванием картинки вы кроме себя самого никому проблем не создадите. Скриншот никто не отменял. Я не знаю юзеров, которые не знают что такое скриншот. По крайней мере это не так сложно. 
Elfet предложил правильную идею. Хотя идея не его конечно, она стара как мир..но все же. Возьмите любой сайт фотографий как пример и посмотрите как это сделано, тот же istockphoto.com вставляет надпись istockphoto на весь рисунок. А просто так, не вижу смысла защищать ее от скачивания. Кому надо все равно скачает.

Автор: JDmitry 18.6.2009, 15:37
да что я могу сделать начальство требует а я вообще не компитентен в этом вопросе. вот хотел бы увидить пример как порезать картинку на 10-15 кубиков и отдать их в таблицу ))) вот и всё нечего другова мне не подойдёт.
Спасибо что помогаите но хотел бы сконсентрировать ваше внемания на этом вопросе!

Автор: azesmcar 18.6.2009, 16:10
JDmitry

image_slicer.php
Код

<?php
    $image = $_GET['image'];
    $xpart = $_GET['xpart'];
    $ypart = $_GET['ypart'];
    $ssize = $_GET['ssize'];
    
    $src = imagecreatefromjpeg($image);

    $dsizex = imagesx($src) / $ssize;
    $dsizey = imagesy($src) / $ssize;

    $dst = imagecreatetruecolor($dsizex, $dsizey);

    imagecopy($dst, $src, 0, 0, $xpart * $dsizex, $ypart * $dsizey, $dsizex, $dsizey);

    header('Content-Type: image/jpeg');
    imagejpeg($dst);
    imagedestroy($dst);
    imagedestroy($src);
?>

test.php
Код

<table cellpadding="0" cellspacing="0">
<?php
    $slices = 10;
    for ($i = 0; $i < $slices; $i++) {
        echo '<tr>';
        for ($j = 0; $j < $slices; $j++) {
            echo "<td><img src=image_slicer.php?image=1.jpg&ssize=$slices&xpart=$j&ypart=$i></td>\n";
        }
        echo '</tr>';
    }
    
?>
</table>

так пойдет? меняй константу, режь хоть на сто, хоть на тысячу кусков.

Добавлено через 3 минуты и 47 секунд
NetJunky
Об этом уже не раз говорилось.
вот ответ.
Цитата(JDmitry @  18.6.2009,  15:37 Найти цитируемый пост)
начальство требует 


Автор: icewind 18.6.2009, 16:15
Скажи своему начальнику что это очень ресурсоемкая задача... Резать картинки на куски без кэша серверу тяжко придется. И все эти ресурсы будут потрачены в пустую. Да, через FlashGet не скачаешь, но это не выход. Тот кому надо и так скачает, а тот, кому очень надо, напишет граббер и все разом скачает. 

Автор: JDmitry 18.6.2009, 16:31
Спасибо всем кто участвовал в обсуждении задача решена smile

Автор: Xavier 19.6.2009, 00:44
Было бы неплохо узнать решение)

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)