Автор Гілка: Image hotlinking prevention  (Прочитано 2019 раз)

Відсутній piktor

  • Видавець
  • *******
  • дописів: 3396
  • Карма: +0/-0
Image hotlinking prevention
« : 2013-05-02 21:07:34 »
Дано:
1. Блог на домені piktor.org.ua, куди я заливаю фотографії у теку /files. Сам блог крутиться на Drupal 7.
2. Дзеркало блогу на thepiktor.livejournal.com, куди налаштовано кроспостинг дописів із тими-ж фотографіями. Інколи, також, відправляю дописи у ЖЖ-спільноту ua_travels.livejournal.com.
3. Жадібний власник блогу, який хоче заборонити хотлінкінг фотографій на інші ресурси, тобто я.
Я знайшов автоматичний генератор коду для .htaccess:
http://www.htaccesstools.com/hotlink-protection/
Увів усі дані, отримав код + додав до нього фрагменти щоб дозволити перегляд фотографій у пошуковиках. Вийшло таке:
 RewriteCond %{HTTP_REFERER} !^$
  RewriteCond %{HTTP_REFERER} !^http(s)?://(www\.)?piktor.org.ua [NC]
  RewriteCond %{HTTP_REFERER} !^http(s)?://(www\.)?thepiktor.livejournal.com [NC]
  RewriteCond %{HTTP_REFERER} !^http(s)?://(www\.)?ua_travels.livejournal.com [NC]
  RewriteCond %{HTTP_REFERER} !^http(s)?://(www\.)?.*.livejournal.com/friends [NC]
  RewriteCond %{HTTP_REFERER} !google\. [NC]
  RewriteCond %{HTTP_REFERER} !bing\. [NC]
  RewriteCond %{HTTP_REFERER} !search\?q=cache [NC]
  RewriteCond %{HTTP_REFERER} !msn\. [NC]
  RewriteCond %{HTTP_REFERER} !yahoo\. [NC]
  RewriteCond %{HTTP_REFERER} !yandex\. [NC]
  RewriteRule \.(jpg|jpeg|png|gif)$ http://ic.pics.livejournal.com/thepiktor/34655138/3201/3201_original.png [NC,R,L]
Останній рядок - то картинка-заглушка. Даний код було вставлено у штатний .htaccess Drupal'a, туди, де секція <IfModule mod_rewrite.c> - сам модуль, звісно, увімкнено.
Але воно не працює. Картинки на інших сайтах нікуди не зникли, наприклад ось:
http://www.malecha.org.ua/forum/index.php?showtopic=23757&st=0&p=864402&hl=%D0%B1%D1%83%D0%BA%D0%B8&fromsearch=1&#entry864402

Іще одна проблема - стрічка друзів у Livejournal - треба, щоб картинку було видно у <username>.livejournal.com/friends - я для цього прописав рядок:
RewriteCond %{HTTP_REFERER} !^http(s)?://(www\.)?.*.livejournal.com/friends [NC]
Але не впевнений, що правильно.
Всим, хто тоне й не знає,
За що вхопитись,
Хто вже з останніх
Вибився сил:
Попереджаю - я не колода,
Попереджаю - я крокодил.

Відсутній piktor

  • Видавець
  • *******
  • дописів: 3396
  • Карма: +0/-0
Re: Image hotlinking prevention
« Відповідей #1 : 2013-05-02 21:34:44 »
Питання вирішено - у теці files був свій .htaccess із своїми правилами.
Всим, хто тоне й не знає,
За що вхопитись,
Хто вже з останніх
Вибився сил:
Попереджаю - я не колода,
Попереджаю - я крокодил.