Ochrona zdjęć przed hotlinkowaniem

Obok nakładania znaku wodnego,przeciwdziałanie hotlnikowaniu jest jedną z najpopularniejszych metod zabezpieczenia naszych zdjęć przed wirtualną kradzieżą.

Antyhotlink
Uproszczona graficzna ilustracja przeciwdziałania hotlinkowaniu

Jak goście mogą zawłaszczyć zdjęcie przez hotlinkowanie?

W teorii:
Firmy hostingowe nakładają na nasze konta miesięczne limity transferu danych aby zbytnio nie przeciążać ich łączy bądź chronić przed stosowaniem serwera jako hosting plików. Zdjęcie o dużej rozdzielczości może zajmować nawet 1,5MB, czyli teoretycznie, jeśli średnio osoba odwiedzająca naszą stronę zobaczy 10 zdjęć a posiadany transfer wynosiłby 10GB miesięcznie, to wystarczyłoby nam to na obsługę 650 gości miesięcznie. Na pozór liczba jest satysfakcjonująca, lecz każdy rozwijający się fotograf powinien uwzględnić rosnącą popularność strony. Może się okazać, że już za parę miesięcy zabraknie nam transferu. W sumie to powinniśmy się cieszyć, bo hosting i transfer można za grosze zwiększyć i czerpać z tego zyski. Lecz czy aby na pewno goście przeglądają galerię za pośrednictwem naszej strony? A może nasze zdjęcia widzą na stronie konkurencji? Wyjaśnię na podstawie przykładu:

W praktyce:
ZawłasczenieJankowi przeglądającemu moją stronę spodobała się moja fotografia najnowszego Peugeota. Jako, że prowadzi bloga o samochodach, zdjęcie uważa za cenny łup wojenny. Kto by tam pytał o zgodę na przedruk; ba, komu by się chciało męczyć z zapisywaniem zdjęcia na własny serwer www, przecież wystarczy z użyciem prawego przycisku myszy  „skopiować adres obrazka” i wkleić na swoją stronę (np. <img src=”http://www.foto-porady.info/wp-content/uploads/2011/02/antyhotlink-450×342.png” /> ). Szybko, łatwo i przyjemnie.

Następnie kiedy jakiś fan Peugeotów wejdzie na bloga Janka przeglądarka internetowa gościa odczyta w kodzie strony zewnętrzny link do obrazka a następnie pobierze go z naszego serwera, naszą fotografię! Skurczybyk (Jan) zabiera mi cenny transfer nie oferując nic w zamian! To jest właśnie hotlinkowanie. Na szczęście istnieje zabezpieczenie 😀

[How to] Ochrona zdjęć przed hotlinkowaniem

Aby móc zastosować ochronę przed hotlinkowaniem musisz mieć dostęp do pliku .htaccess (Ovh.org, cba.pl, yoyo.pl i wszystkie normalne płatne serwery pozwalają na modyfikację pliku htaccess).

  1. Połącz się z serwerem np. za pomocą ftp (jeśli nie wiesz jak poszukaj w Google)
  2. ochronaWejdź do głównego katalogu, w którym znajduje się strona.
  3. Utwórz lub edytuj plik .htaccess.
  4. Zapisz w nim następujący kod:
  5. a) Jeśli chcemy zwrócić błąd:

    RewriteEngine on
    RewriteCond %{HTTP_REFERER} !^$
    RewriteCond %{HTTP_REFERER} !^(http://|https://)(www.)?(twojadomena.pl).*$ [NC]
    RewriteRule \.(jpe?g|gif|bmp|png)$ – [F]

    b) aby podmienić obrazek:

    RewriteEngine on
    RewriteCond %{REQUEST_URI} !promo/
    RewriteCond %{HTTP_REFERER} !^$
    RewriteCond %{HTTP_REFERER} !^(http://|https://)(www.)?(twojadomena.pl).*$ [NC]
    RewriteRule .*\.(jpe?g|gif|bmp|png)$ http://twojadomena.pl/promo/nohotlink.png [L]

    Uwaga! Katalog (promo) z obrazkiem zastępczym (np. nohotlink.png) powinien być objęty wyjątkiem od hotlinkowania (2 linia powyższego kodu)

  6. Zapisz plik.

Od teraz każde wywołanie grafiki (o rozszerzeniu jpg, jpeg, gif, bmp i png) z nie naszej strony kończy się zwróceniem błędu.

Dla profesjonalistów 😉
Jeśli chcesz aby na Twojej stronie możliwe było hotlinkowanie np. do katalogu z bannerami po RewriteEngine on dodaj linię

RewriteCond %{REQUEST_URI} !bannery/

 

Dodatkowa lektura

Dodatkowym zabezpieczeniem może być umieszczenie na zdjęciu specjalnego znaku wodnego z naszymi inicjałami, napisałem o tym notatkę pt. „Po co znak wodny” oraz „Jak zrobić znak wodny na zdjęciu?

Powyższy artykuł jest remakem artykułu „Ochrona zdjęć przed hotlinkowaniem” z 9 listopada 2007 mojego autorstwa.

 

Dodaj komentarz

Twój adres email nie zostanie opublikowany. Pola, których wypełnienie jest wymagane, są oznaczone symbolem *