Ищу Антилич для картинок

Тема в разделе "DLE", создана пользователем edemka, 21 июн 2007.

Информация :
Актуальная версия DataLife Engine 11.2
( Final Release v.11.2 | Скачать DataLife Engine | Скачать 11.2 demo )
Нужно ли обновляться | Как обновиться | Изменения в шаблонах
> Нет русских символов <
[Приватная тема DLE (Все подробности в ЛС к модератору раздела)]

Версии 11.1 и ниже - уязвимы!

Локализации | F.A.Q. | Внешний вид
Правила раздела | Правила форума
Обсуждение хайда карается баном!
В каждом сообщении указывайте версию DLE, которого они касаются!
Статус темы:
Закрыта.
Модераторы: killoff
  1. edemka

    edemka Прохожие

    Блокировка копирования изображения с сайта (ну конечно от PrtScr ничто не спасет но все-же)
    Это код который будет использоватся на сайте для отображения изображения:


    <div style="position: relative; width: 480px">
    <table width="480" height="324" cellspacing="0" cellpadding="0" style="position: absolute; color: #F0F0F0"><tr>
    <td style="padding: 10px 10px;" align="left" valign="top">


    Тут некоторый текст, к примеру описание


    </td>
    </tr></table>
    <img src="images.php?f=1" width="480" height="324">
    </div>


    А вот код файла images.php


    <?php
    /*Тут организовать подключение к базе MySQL*/
    $width=(isset($_GET['w']))?$_GET['w']:0;
    $height=(isset($_GET['h']))?$_GET['h']:0;
    $sql = mysql_query("SELECT * FROM images WHERE id='".$_GET['f']."'");//$_GET['f'] в данном случае служит как номер изображения в базе
    $res = mysql_fetch_array($sql);
    $ffile = $res['images'];
    header('(anti-spam-content-type:) image/jpeg');
    list($widthorig, $heightorig) = getimagesize($ffile);
    if(!$width && !$height){
    $width = $widthorig;
    $height = $heightorig;
    }
    if($width && !$height){
    $width = ($width > $widthorig) ? $widthorig : $width;
    $height = ($width > $widthorig) ? $heightorig : ($heightorig / $widthorig) * $width;
    }
    if($height && !$width){
    $height = ($height > $heightorig) ? $heightorig : $height;
    $width = ($height > $heightorig) ? $widthorig : ($widthorig / $heightorig) * $height;
    }
    $extn=explode(".",$ffile);
    $i=count($extn);
    $ext=strtolower($extn[$i-1]);
    $imagep = imagecreatetruecolor($width, $height);
    if($ext=="jpg")$image=imagecreatefromjpeg($ffile);
    if($ext=="png")$image=imagecreatefrompng($ffile);
    if($ext=="gif")$image=imagecreatefromgif($ffile);
    imagecopyresampled($imagep, $image, 0, 0, 0, 0, $width, $height, $widthorig, $heightorig);
    imagejpeg($imagep, null, 100);
    ?>


    Превращаем растровое изображение в нолики и единички.


    <?php
    define ('TITLE', 'Картинки');
    ?>
    <b>Картинки, PHP</b>
    <br />
    <u>Превращаем растровое изображение в нолики и единички.</u>
    <!--2--><!-- preamble -->
    <br />
    <br />
    <br />
    <?php

    if (isset ($_FILES['pic']))
    {
    $file=$_FILES['pic']['tmp_name'];
    if (strtolower (end (explode ('.', $_FILES['pic']['name']))) == 'jpg') $i = ImageCreateFromJpeg($file);
    elseif (strtolower (end (explode ('.', $_FILES['pic']['name']))) == 'png') $i = ImageCreateFromPNG($file);
    else die ("Невозможно обработать изображение в формате GIF");
    $o = ImageCreate(imagesx($i), imagesy($i));

    for ($n = 0; $n < 256; $n++)
    {
    imagecolorallocate($o, $n, $n, $n);
    }

    imagecopy ($o, $i, 0, 0, 0, 0, imagesx ($i), imagesy ($i));

    $lim = 256/2;

    echo '<pre style="font-size: 8px; letter-spacing: 0px; line-height: 80%;">';

    for ($y = 0; $y < imagesy ($o); $y++)
    {
    for ($x = 0; $x < imagesx ($o); $x++)
    {
    if ((imagecolorat($o, $x, $y) & 0xFF)>$lim) echo _; else echo 0;
    }
    echo "\n";
    }

    echo '</pre>';
    }
    else
    {
    ?>
    <form enctype='multipart/form-data' method='POST'>
    Картинки форматов JPG и PNG успешно превратятся в "двоичный" текст
    <br />
    <br />
    Можно нарисовать чего-нибудь прикольное, "отдвоичить" и пихать как подпись к e-mail
    <br />
    <br />
    Учтите, что чем больше картинка, тем дольше будете ждать. Оптимальный размер 100 на 100 пикселей
    <br />
    <input type='file' name='pic'>
    <br />
    <input type='submit' value=' Превратить! '>
    </form>
    <br />
    <br />
    <br />
    <?
    }
    ?>
     
  2. masima

    masima

    Регистр.:
    9 мар 2007
    Сообщения:
    732
    Симпатии:
    1.338
    от PrtSc есть спасение так не надо гнать... сейчатка глаза человека воспринемает определённые кадры.. а если сделать все остальные шумам, то при нажатии принтскрина будет тока шум! ) так же зашетили видео изображения от него! )
     
  3. -Зверик-

    -Зверик- Прохожие

    Нагло стыренно с http://4dle.ru/2007/06/17/antilich_dlja_kartinok.html отсюда!
    Хоть авторство указываейте.

    это не антилич.. это так, детское баловство.

    вот мой аватар, 100x100



    какой в ж*пу это антилич.

    я думал что по настоящему картинки генеритить будет - где каждый пиксель будет превращен в цветную ASCII точку, видел такое исполнение для кептчи.

    но тут две громадных проблемы. 1) даже 100x100 цветная картинка грузит проц неимоверно, запросят 10 картинок - вот вам и дос. 2)printscreen?




    теперь я вам дам настоящий антилич, который предотвращает hotlinking изображений

    Код:
    RewriteEngine On
    RewriteOptions MaxRedirects=100
    RewriteCond %{HTTP_REFERER} !^http://(www\.)?site\.ru/ [NC]
    #RewriteCond %{HTTP_REFERER} !^$
    RewriteRule \.(jpe?g|gif|bmp|png|ipb)$ http://site.ru/style_images/fake.gif [L] 


    Закоментированная решеткой строчка разрешает прямое обращение. Если вы просто хотите запретить линк с другого сайта, но хотите разрешить прямое открытие через браузер, можете убрать эту решетку.

    Строчка перед ней - разрешает обращение только с вашего сайта.

    В RewriteCond:
    site\.ru - меняете на ваш сайт, например forum\.invisionpower\.com - перед точками обязательно слеш.

    В RewriteRule:
    site.ru - меняете на ваш сайт уже без с слешей, например forum.invisionpower.com


    оригинал


    предупрежу - у пользователей firewall'а, который режет рефферер или подсовывает свой, будут проблемы. это от 1 до 5% макс людей.


    всем спасибо за внимание)
     
Статус темы:
Закрыта.