За последние 24 часа нас посетили 55330 программистов и 1787 роботов. Сейчас ищут 866 программистов ...

Редирект с картинок в .htaccess

Тема в разделе "Прочие вопросы по PHP", создана пользователем viphost, 12 фев 2013.

  1. viphost

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

    С нами с:
    23 мар 2009
    Сообщения:
    307
    Симпатии:
    0
    Реально ли сделать следующее.
    Есть сайт, тырят картинки, на сайте своровавшего картинку стоит мой url до файла
    Код (Text):
    1. http://site.ru/upload/images.jpg
    Реально ли перекинуть пользователя с данной страницы в мой сайт, сделать какой нибудь редирект?
     
  2. Ganzal

    Ganzal Суперстар
    Команда форума Модератор

    С нами с:
    15 мар 2007
    Сообщения:
    9.893
    Симпатии:
    965
    не реально. инициировать переход уровня "страницы" может только хост-владелец. но вы можете не показывать картинки если запрос пришел с этого хоста. гуглите про хотлинкинг
     
  3. artoodetoo

    artoodetoo Суперстар
    Команда форума Модератор

    С нами с:
    11 июн 2010
    Сообщения:
    11.128
    Симпатии:
    1.248
    Адрес:
    там-сям
    В Opera есть нужная хроническая бага ))) Только доля оперы порядка 2%. Нормальные браузеры картинкой не зацепишь.
     
  4. viphost

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

    С нами с:
    23 мар 2009
    Сообщения:
    307
    Симпатии:
    0
    печаль, хотлинк тоже не хотелось бы юзать, ну в смысле по рефереру другую картинку выводить. Хотелось бы наказать так что бы желание совсем пропала копипастить =)
    И сделать если при скачивании файла с сервера отдавать не картинку а хтмл страницу тоже нельзя?
     
  5. Ganzal

    Ganzal Суперстар
    Команда форума Модератор

    С нами с:
    15 мар 2007
    Сообщения:
    9.893
    Симпатии:
    965
    а как вы отличите скачивание от запроса с вашей же страницы? для сервера это будет GET http://yourhost.tld/path/to/image.ext HTTP/1.1 плюс переменные окружения, которым не очень-то следует доверять.
     
  6. igordata

    igordata Суперстар
    Команда форума Модератор

    С нами с:
    18 мар 2010
    Сообщения:
    32.408
    Симпатии:
    1.768
    по рашке доля оперы некислая и составляет порядка четверти всех агентов. http://my-chrome.ru/statistika-brauzerov/
     
  7. artoodetoo

    artoodetoo Суперстар
    Команда форума Модератор

    С нами с:
    11 июн 2010
    Сообщения:
    11.128
    Симпатии:
    1.248
    Адрес:
    там-сям
    Во как! Любовь зла, как говорится. Я сам долго ей пользовался, но со временем всё чаще стал натыкаться на неправильное поведение. А после известной новости на rutracker/ixbt/habrahabr про нежелание исправлять опасную багу, решил даже для тестов не использовать это г*.
     
  8. igordata

    igordata Суперстар
    Команда форума Модератор

    С нами с:
    18 мар 2010
    Сообщения:
    32.408
    Симпатии:
    1.768
    ну оперу сложно назвать говном, учитывая её роль в HTML...
     
  9. artoodetoo

    artoodetoo Суперстар
    Команда форума Модератор

    С нами с:
    11 июн 2010
    Сообщения:
    11.128
    Симпатии:
    1.248
    Адрес:
    там-сям
    И какая у неё роль? Они хотят занять нишу IE6, быть главным изгоем?
     
  10. viphost

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

    С нами с:
    23 мар 2009
    Сообщения:
    307
    Симпатии:
    0
    Интересная мысль посетила! Но как реализовать такое ума не приложу, очень плохо знаком с .htaccess
    Вобщем хочется сделать следующее
    На сайте есть две папки в которых находятся изображения, в одной папке привьюшка, в другой фулл формат изображения
    /thumbs/ - привью
    /full/ - изображение
    Так вот, на сайте ворующем картинки, если он размещает картинку на своем сайте из папки /full/
    то нужно как то затемнить картинку, т.е. по всей ее площади наложить еще одну картинку и написать "кликните для скачивания оригинала". Это не даст юзеру скачать картинку прямо с сайта разместившего мое изображение.
     
  11. Ganzal

    Ganzal Суперстар
    Команда форума Модератор

    С нами с:
    15 мар 2007
    Сообщения:
    9.893
    Симпатии:
    965
    браузеру через ворующий сайт отдается картинка. статика. никаких мудростей с "кликните для скачивания оригинала" быть не может, не мелите чушь. но вы можете по хотлинкингу отдавать другое изображение. а ссылка для скачивания останется на совести сайта-вора.

    хотлинкинг либо разрешается либо ограничивается (но всегда можно обойти), но никаких извращений типа переместить пользователя к вам - без вставки гиперлинка у воришек не будет из соображений здравого смысла.
     
  12. viphost

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

    С нами с:
    23 мар 2009
    Сообщения:
    307
    Симпатии:
    0
    та вы меня не поняли, в последнем посте я писал о том если на сайте вора размещается картинка ссылка
    Код (Text):
    1. <a href="мой сайт">картинка</a>
    тупо вотермарк наложить и все! Вобщем реализовал наложение вотермарка на php + htaccess по рефереру определяю накладывать изображение или нет.
    Проблема в следующем, не пойму как сделать:
    1. Есть картинка полупрозрачного фона 1х1px нежно чтобы картинка накладывалась по всей длине.
    2. Плюс к первому на картинки по центру написать текст
    Вот код
    Код (Text):
    1. header('Content-type: image/jpeg');
    2. // берем картинку
    3. $img = $_GET['src'];
    4. // определяем позицию watermark
    5. $p = $_GET['p']; if(!$p) $p = 'c';
    6.  
    7. // качество
    8. $q = $_GET['q'];
    9.  
    10. if(!$q || $q<0 || $q>100) $q = '93';
    11.  
    12.  
    13. $filetype = substr($img,strlen($img)-4,4);
    14. $filetype = strtolower($filetype);
    15. if($filetype == ".gif") $image = @imagecreatefromgif($img);
    16. if($filetype == ".jpg") $image = @imagecreatefromjpeg($img);
    17. if($filetype == ".png") $image = @imagecreatefrompng($img);
    18. if (!$image) die();
    19.  
    20. // Получение размера изображения для оригинального изображения
    21. $img_w = imagesx($image);
    22. $img_h = imagesy($image);
    23.  
    24. $watermark = @imagecreatefrompng('watermark.png');
    25.  
    26. // Получение размера изображения для водяных знаков
    27. $w_w = imagesx($watermark);
    28. $w_h = imagesy($watermark);
    29.  
    30.  
    31. switch($p) {
    32.     case 'tl':
    33.         $x = 0;
    34.         $y = 0;
    35.         break;
    36.     case 'tc':
    37.         $x = ($img_w - $w_w)/2;
    38.         $y = 0;
    39.         break;
    40.     case 'tr':
    41.         $x = $img_w - $w_w;
    42.         $y = 0;
    43.         break;
    44.     case 'cl':
    45.         $x = 0;
    46.         $y = ($img_h - $w_h)/2;
    47.         break;
    48.     case 'c':
    49.         $x = ($img_w - $w_w)/2;
    50.         $y = ($img_h - $w_h)/2;
    51.         break;
    52.     case 'cr':
    53.         $x = $img_w - $w_w;
    54.         $y = ($img_h - $w_h)/2;
    55.         break;
    56.     case 'bl':
    57.         $x = 0;
    58.         $y = $img_h - $w_h;
    59.         break;
    60.     case 'bc':
    61.         $x = ($img_w - $w_w)/2;
    62.         $y = $img_h - $w_h;
    63.         break;
    64.     case 'br':
    65.         $x = $img_w - $w_w;
    66.         $y = $img_h - $w_h;
    67.         break;
    68.  
    69. }
    70.  
    71.  
    72.  
    73. imagecopy($image, $watermark, $x, $y, 0, 0, $w_w, $w_h);
    74. imagejpeg($image, null, $q);
    75. imagedestroy($image);
    76. imagedestroy($watermark);
    Может кто поможет =)
    Я не могу продублировать изображение, если ставлю к примеру так
    Код (Text):
    1. imagecopy($image, $watermark, $x, $y, 0, 0, $img_w, $img_h);
    получаю 1х1px а все остальное черный квадрат Малевича ))
     
  13. Ganzal

    Ganzal Суперстар
    Команда форума Модератор

    С нами с:
    15 мар 2007
    Сообщения:
    9.893
    Симпатии:
    965
    а это для чего?
     
  14. viphost

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

    С нами с:
    23 мар 2009
    Сообщения:
    307
    Симпатии:
    0
    ну нужно оригинал заполнить картинкой 1x1px чтобы затемнить ее
    сейчас приведу пример желаемого результата, минутку

    Добавлено спустя 6 минут 10 секунд:
    Вот к примеру оригинал
    [​IMG]
    а вот что хочется получить
    [​IMG]
     
  15. Ganzal

    Ganzal Суперстар
    Команда форума Модератор

    С нами с:
    15 мар 2007
    Сообщения:
    9.893
    Симпатии:
    965
    да все проще делается. читай про альфа-каналы.
     
  16. viphost

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

    С нами с:
    23 мар 2009
    Сообщения:
    307
    Симпатии:
    0
    ага, интересно, сейчас буду крутить =) спс
     
  17. Your

    Your Старожил

    С нами с:
    2 июл 2011
    Сообщения:
    4.074
    Симпатии:
    7
    Без javascript'а не хочется делать php, затягивает js в свою дырку =)
    Будьте осторожны =))) :D

    А opacity и absolute отменили, css?)

    Если нужда, обработка изображений, то да тут понадобится альфа-канал...
    Я имел ввиду, что типо как на аве будет) некоторые и такие вопросы попадаются ляпну сразу и тут)
     
  18. Ganzal

    Ganzal Суперстар
    Команда форума Модератор

    С нами с:
    15 мар 2007
    Сообщения:
    9.893
    Симпатии:
    965
    ну если сайт-вор согласится стилями затемнять и подписывать изображения - то обработка на стороне владельца не понадобится, да =)