За последние 24 часа нас посетили 16678 программистов и 1680 роботов. Сейчас ищут 870 программистов ...

блокирование показа картинок на других сайтах

Тема в разделе "PHP для новичков", создана пользователем zhito, 17 фев 2009.

  1. zhito

    zhito Активный пользователь

    С нами с:
    4 мар 2008
    Сообщения:
    25
    Симпатии:
    0
    люди копируют картинки с моего сайта на свои блоги/сайты и это жрет очень много трафа
    нашел такой скрипт, но он глючит с картинками которые в названии содержат спец символы (например []) вопрос как это исправить?

    PHP:
    1.   $p = strpos($_SERVER['HTTP_REFERER'], 'http://'.$_SERVER['SERVER_NAME']);
    2.   // Если не с этого - возвращаем пустой ответ
    3.   if($p===false || $p!=0) exit;
    4.   // Читаем изображение с диска
    5.   $fl = $_SERVER['DOCUMENT_ROOT'].$_SERVER['REQUEST_URI'];
    6.   $info = @getImageSize($fl);
    7.   // Отдаём изображение
    8.   header("Content-Type: ".$info['mime']);
    9.   switch ($info[2]) {
    10.     case 1:
    11.       imageGIF($img);
    12.       break;
    13.     case 2:
    14.       imageJPEG($img);
    15.       break;
    16.     case 3:
    17.       imagePNG($img);
    18.       break;
    19.   }
    20.   imageDestroy($img);
     
  2. SLV

    SLV Активный пользователь

    С нами с:
    11 авг 2008
    Сообщения:
    51
    Симпатии:
    0
    не нужны никакие скрипты, хватит прописать в .htaccess:

    RewriteEngine on
    RewriteCond %{HTTP_REFERER} !^http://твойсайт.ru/.*$ [NC]
    RewriteCond %{HTTP_REFERER} !^$ [NC]
    RewriteRule \.(jpe?g|gif|bmp|png)$ [F]

    в данном варианте сервер будет возвращать ошибку 403, но никто не запрещает показывать картинку с ж..пой или грозную надпись "АДМИН ВОР!".