Loading:

Książka Zend Framework 3. Poradnik Programisty.

.htaccess Blokada hotlinking czyli kradzieży obrazków i nie tylko

Skrypt blokuje możliwość kradzieży obrazków z naszej strony przez wszystkie lub tylko wybrane strony.

Na początek tworzymy plik o nazwie .htaccess i wgrywamy go do głównego katalogu strony.

Ten kod blokuje możliwość pobrania obrazków wszystkim witrynom z wyjątkiem www.funkcje.net
wszstkie inne strony zobaczą obrazek nohotlink.png

RewriteEngine On
RewriteCond %{HTTP_REFERER} !^http://(.+\.)?funkcje\.net/ [NC]
RewriteCond %{HTTP_REFERER} !^$
RewriteRule .*\.(jpe?g|gif|bmp|png)$ /images/nohotlink.png [L]


[NC] oznacza not case sensitive – nie rozróżniaj wielkości znaków.

[L] oznacza, że to polecenie jest już ostatnie i informuje serwer żeby nie wykonywał kolejnych.


Teraz zablokujemy możliwość pobierania obrazków wybranym witrynom w tym przypadku strona1.com i strona2.com:

RewriteEngine On
RewriteCond %{HTTP_REFERER} ^http://(.+\.)?strona1\.com/ [NC,OR]
RewriteCond %{HTTP_REFERER} ^http://(.+\.)?strona2\.com/ [NC]
RewriteRule .*\.(jpe?g|gif|bmp|png)$ /images/nohotlink.png [L]





Napisz Artykuł

Listing

niema


Ten wpis posiada swój wątek na forum

Wszystkie pytania prosimy kierować właśnie tam ponieważ komentarze to miejsce na poprawki do kodu lub alternatywne rozwiązania i pytania nie będą publikowane

http://forum.funkcje.net/forum/viewtopic.php?f=2&t=2482

Dane do logowania na forum są takie same jak na funkcje.net



Dodano przez: igor
Ranga: Administrator serwisu Punktów: 28716
Komentarze użytkowników
niby działa, ale nie działa, bo obrazki na stronie nie wyświetlają sie , przynajmnij u mnie tak jest
autor: hi4 | 170 | 2009-04-26 13:10:20


Może źle ustawiłeś blokadę i blokujesz sam siebie :)
autor: Igor | 241 | 2009-06-05 13:07:00


Chyba musze tu zamieścić ten kod , nie blokuje siebie sam . Tak wygląda kod kiedy nie widze obrazków na stronie: RewriteEngine On RewriteRule ^(.*).html$ wejscie.php?n1=$1 [L] RewriteCond %{HTTP_REFERER} !^http://(.+\.)?funkcje\.net/ [NC] RewriteCond %{HTTP_REFERER} !^$ RewriteRule .*\.(jpe?g|gif|bmp|png)$ /images/nohotlink.png [L] Wiele osób z portali społecznosciowych podlinkowuje sie do mnie. Zwiększam transfer serwera co miesiąc o 1 GB . Ależ ile można ??? pozdrawiam Dorota
autor: h4 | 243 | 2009-06-06 18:40:54


Ale czemu masz funkcje.net ?? musisz zmienić :
  • Zobacz kod dodany do tego wpisu
    • RewriteCond %{HTTP_REFERER} !^http://(.+.)?funkcje.net/ [NC]
      //na twojaDomena.pl  czy co tam masz
      RewriteCond %{HTTP_REFERER} !^http://(.+.)?twojaDomena.pl/ [NC]
autor: Igor | 244 | 2009-06-06 19:28:34


juz nie rozumie, jestem tępa niesamowicie. Wsatawiłam funkcje.net bo pisze w instrukcji : Ten kod blokuje możliwość pobrania obrazków wszystkim witrynom z wyjątkiem www.funkcje.net, ważne aby inni nie kradli, Kradną , hotlinkuja z fotki, Mojej generacji, i wielu innych , nie sposób wszystkich wymienic. Ukradłam sama sobie obrazek legalny : http://hi4.pl/love/18/ob3.gif "ukradziony przd chwilką": http://polsh.com/love/index.html ten kod musi pozostać, bo tak wymaga skrypt, RewriteEngine On RewriteRule ^(.*).html$ wejscie.php?n1=$1 [L] Więc co ja musze dopisac do niego , nie bardzo sie rozeznaje w .htaccess a prawde mówiąc nic nie znam sie w tym zagadnieniu. Moje kombinacje aby zabezpieczyc obrazki na nic sie nie zdały.
autor: Dorota | 245 | 2009-06-06 21:12:26


Ten kod w oryginalnej wersji blokuje wszystwie strony perzd hotlinkowaniem prócz funkcje.net w tym i twoją strone blokuje. Aby blokowało wszystkich prócz ciebie musisz zamiast funkcje.net wpisać adres swojej domeny. Napisz jaki masz adres strony to ci wpisze jak ma wyglądać kod. Kod daj w okienku na kod a nie w treści.
autor: Igor | 246 | 2009-06-07 15:32:47


http://www.hi4.pl/love/pozdrawiam/ to jest przykład jednej ze stron jakie mam. głowny katalog to http://www.hi4.pl/love/ Czy zablokowanie strony przed hotlinkowaniem, nie spowoduje niewyświetlenia obrazków tym zablokowanym?
autor: Dorota | 247 | 2009-06-07 20:35:09


Jak .htaccess z tym kodem poniżej do katalogu to zdjęcia będą widoczne tylko na stronie z tym adresem http://www.hi4.pl/love wszystkie inne strony które np zaciągają obecnie obrazki od ciebie zobaczą obrazek nohotlink.png (jeśli go utworzyłaś)
  • Zobacz kod dodany do tego wpisu
    • RewriteEngine On
      RewriteCond %{HTTP_REFERER} !^http://(.+.)?www.hi4.pl/love/ [NC]
      RewriteCond %{HTTP_REFERER} !^$
      RewriteRule .*.(jpe?g|gif|bmp|png)$ nohotlink.png [L]
autor: Igor | 248 | 2009-06-07 22:30:47


wstawiłam podany kod zmieniając link, bo znalazłam następny hotlink. Strona z moim obrazkiem, ten na samym dole z 3 misiami w łóżku W katalogu www.hi4.pl/z/ Zamieszczony jest plik nohotlink.png i raz htaccess z kodem jak poniżej w katalogu www.hi4.pl/z/ Coś może robie źle, nie mam pojęcia. Dziękuje za cierpliwośc :)
  • Zobacz kod dodany do tego wpisu
    • strona z moim wstawionym obrazkiem na fotka.pl
      http://www.fotka.pl/profil/malaolusia90/
      Mój obrazek :
      http://hi4.pl/z/czwartek/mini.gif

      http://www.hi4.pl/z/nohotlink.png


      RewriteEngine On
      RewriteCond %{HTTP_REFERER} !^http://(.+.)?www.hi4.pl/z/ [NC]
      RewriteCond %{HTTP_REFERER} !^$
      RewriteRule .*.(jpe?g|gif|bmp|png)$ nohotlink.png [L]
autor: Dorota | 250 | 2009-06-08 08:30:45


może tak bedzie lepiej bo zabawa z katalogami nie ma sensu pozatym zrobiłaś błedy w składni wyrażenia regularnego w którym . musi być poprzedzona znakiem ucieczki / Weś to co dam niżej przekopiuj do katalogu .htaccess i wgraj go do głównego katalogu witryny (najpierw jednak sprawdz czy go tam nie ma). Plik nohotlink.png umiesc w katalogu images (www.hi4.pl/images)
  • Zobacz kod dodany do tego wpisu
    • RewriteEngine On
      RewriteCond %{HTTP_REFERER} !^http://(.+.)?hi4.pl/ [NC]
      RewriteCond %{HTTP_REFERER} !^$
      RewriteRule .*.(jpe?g|gif|bmp|png)$ /images/nohotlink.png [L]
autor: Igor | 251 | 2009-06-08 11:49:55


poprawiłam kod mie mogę na całą domenę ustawić , bo moich jest tylko kilka katalogów w hi4
  • Zobacz kod dodany do tego wpisu
    • Teraz ten kod  poprawiony i  jest w katalogu hi4.pl/z/

      RewriteEngine On
      RewriteCond %{HTTP_REFERER} !^http://(.+.)?hi4.pl/z/ [NC]
      RewriteCond %{HTTP_REFERER} !^$
      RewriteRule .*.(jpe?g|gif|bmp|png)$ /images/nohotlink.png [L]


      plik jest tu
      http://hi4.pl/z/images/nohotlink.png
      a nie wyświetla się :(

      czy to ma znaczenie
      ?hi4/.pl/z/ [NC]

      ?hi4.pl/z/ [NC]   u pana jest : ?funkcje.net/ [NC]
      ale te zmiany nic mi nie dały.

      Sorry że tyle czasu Panu zajmuje, a ja nie potrafie tak prostych rzeczy .
autor: Dorota | 253 | 2009-06-08 12:35:22


znowu kots wkleił mój obrazek . Sam pan widzi że to poważny dla mnie problem.
autor: dorota | 254 | 2009-06-08 12:41:02


Wyrażenia regularne to jedna z trudniejszych spraw. Kod ponieżej będzie działał jeśli zostanie umieszczony w pliku .htaccess w katalogu z , a w ten obrazek nohotlink.png wbijać to jest tylko obrazek dla złodziei co mają zobaczyć, najlepiej jak po protu nic nie zobaczą wiec nim sie nie ma co martwić
  • Zobacz kod dodany do tego wpisu
    • RewriteEngine On
      RewriteCond %{HTTP_REFERER} !^http://(.+.)?hi4\.pl\/z/ [NC]
      RewriteCond %{HTTP_REFERER} !^$
      RewriteRule .*.(jpe?g|gif|bmp|png)$ /nohotlink.png [L]
autor: Igor | 256 | 2009-06-08 16:08:16


nic to nie pomogło wstawiłam ten kod : w katalogu z jestem załamana, nie ma innego sposobu na takie linkowania?
  • Zobacz kod dodany do tego wpisu
    • RewriteEngine On
      RewriteCond %{HTTP_REFERER} !^http://(.+.)?hi4.pl/z/ [NC]
      RewriteCond %{HTTP_REFERER} !^$
      RewriteRule .*.(jpe?g|gif|bmp|png)$ /nohotlink.png [L]
autor: Dorota | 257 | 2009-06-08 17:59:20


Daj w katalog z plik .htaccess z tą zawartością: teraz blokujesz tylko stronę fotka.pl oraz możesz dodać inne strony które linkują
  • Zobacz kod dodany do tego wpisu
    • RewriteEngine On
      RewriteCond %{HTTP_REFERER} ^http://(.+\.)?fotka\.pl/ [NC,OR]
      RewriteCond %{HTTP_REFERER} ^http://(.+\.)?inna\.com/ [NC]
      RewriteRule .*\.(jpe?g|gif|bmp|png)$ - [F]
       
autor: Igor | 258 | 2009-06-08 18:18:53


dodałam w/g wskazan , niestety Ten pies z fajką to odemnie :(
  • Zobacz kod dodany do tego wpisu
    • RewriteEngine On
      RewriteRule ^(.*).html$ wejscie.php?n1=$1 [L]

      RewriteCond %{HTTP_REFERER} ^http://(.+.)?fotka.pl/ [NC,OR]
      RewriteCond %{HTTP_REFERER} ^http://(.+.)?kwick.de/ [NC]
      RewriteCond %{HTTP_REFERER} ^http://(.+.)?mojageneracja.pl/ [NC]
      RewriteRule .*.(jpe?g|gif|bmp|png)$ - [F]


      Ten pies z fajką to odemnie :(
      http://www.mojageneracja.pl/5383570
       
autor: dorota | 259 | 2009-06-08 18:36:02


Kody które są podane działają w 100% problem może być tylko w instalacji. Jedyne co obecnie mogę polecić to zamówienie usługi instalacji skryptu u któregoś z naszych programistów niestety koszty to 50 zł/godzina i 2-3 dniowy okres oczekiwania. Zamówienia można dokonać pisząc na adres e-mail : info@funkcje.net
autor: Igor | 260 | 2009-06-08 19:02:09


dziekuje za poświęcony czas życze miłego wieczoru
autor: dorota | 261 | 2009-06-08 19:10:57


Inny przykładowy sposób z internetu
  • Zobacz kod dodany do tego wpisu
    • //1. Tworzymy plik .htaccess i umieszczamy w nim kod:

      RewriteEngine On
      RewriteRule ^(.*).png$ zab_obr.php?nazwa=$1 [L]

      //2. W każdym naszym pliku tworzącym kod strony (czyli np. ?index.php?) umieszczamy na początku:

      <?php
      session_start();
      $_SESSION['kradziez'] = 'nie';
      ?>
      //dalsza część strony...

      //3. Tworzymy w głownym katalogu plik ?zab_obr.php? z następującą zawartością:

      <?php
      session_start();
      $nazwa='./img/' . basename($_GET['nazwa'] . '.png');
      if(($_SESSION['kradziez'] == 'nie')&&(file_exists($nazwa))){
      header('Content-type: image/png');
      readfile($nazwa);
      }else{
      header('Content-type: image/png');
      readfile('./img/kradziez.png');
      }
      ?>
autor: igor | 473 | 2009-08-31 11:59:18


Działa, ale kuleje...
autor: adikso | 12474 | 2011-06-11 16:50:09


    • Treść komentarza
      Kod do komentarza (opcjonalnie)
      PHP JavaScript MySQL Smarty SQL HTML CSS ActionScript
      Autor
      Token
      token

       

       








funkcje.net
Wszelkie prawa zastrzeżone©. | Funkcje.net 2008-17 v.1.5 | design: diviXdesign & rainbowcolors