Witaj gościu! Zaloguj się lub Zarejestruj aby móc korzystać ze wszystkich funkcjonalności jakie oferuje to forum! Rozpocznij zarabianie przez internet, poznaj korzysci pracy w domu! Rejestracja i korzystanie z forum jest całkowicie darmowe!
Praca w domu - Dodatkowa Praca - Zarabianie przez Internet
Poradnik
Blokowanie linkowania twoich obrazków na innych stronach - Wersja do druku


+- Praca w domu - Dodatkowa Praca - Zarabianie przez Internet (https://zarabiam.com)
+-- Dział: Pozycjonowanie (/Forum-Pozycjonowanie-398)
+--- Dział: Pozycjonowanie i Optymalizacja (/Forum-Pozycjonowanie-i-Optymalizacja-341)
+--- Wątek:
Poradnik
Blokowanie linkowania twoich obrazków na innych stronach (/Temat-Blokowanie-linkowania-twoich-obrazkow-na-innych-stronach-80332)



Blokowanie linkowania twoich obrazków na innych stronach - adkam12 - 20-11-2013 18:21

Blokowanie linkowania twoich obrazków na innych stronach

Hotlinkowanie to umieszczanie linku do pliku znajdującego się na innym serwerze. Dla małych hostingów jest to bardzo uciążliwe, gdyż często mamy tam ograniczony transfer i ktoś podbiera nasze zasoby, a gdy je przekroczymy musimy płacić ekstra.

Jednak możemy się przed tym zabezpieczyć wykorzystując plik .htaccess jednak nie zawsze jest taka możliwość, dlatego mam dla Was alternatywne rozwiązanie.

Stworzymy skrypt PHP, który rozwiąże problem hotlinkowania.



Kod:
<?php

function hotlink($serwer) {

  $dlugosc = strlen($serwer);
  $referer = substr($_SERVER['HTTP_REFERER'],0,$dlugosc);
  if ($serwer == $referer) return true;
    else return false;


}


if (hotlink("http://webmade.org/") === TRUE)
  {
   switch($_GET['id'])
    {
     case 1:
            $plik = "grafika.rar";
            break;
     case 2:
            $plik = "folder/plik2.rar";
            break;
     default:
            $plik = "error.php";
    }
    
   header("Location: http://webmade.org/".$plik);
  
  }
  
  else header("Location: http://webmade.org/");

?>

Pierwsza część kodu to jedno-argumentowa funkcja hotlink().
Argumentem tej funkcji jest adres serwera dla którego ma być "podpięte" zabezpieczenie hotlink. Cała funkcja sprawdza czy strona z której zostało zainicjowane pobieranie jest naszym serwerem. W przypadku powodzenia warunku funkcja zwraca true.


Na naszym serwerze posiadamy plik index.html w tej samej lokalizacji co hotlink.php(wraz z naszym skryptem). W pliku index.html mamy link, który odnosi się do lokalizacjihotlink.php?id=1. Ponieważ plik znajduje się na naszym serwerze przechodzi test hotlinkowania. Natomiast z powodu, że id=1(zmienna id ma wartość 1) plik grafika.rar zostanie pobrany.

Na koniec chciałbym zwrócić uwagę na pewny szczegół, który jest bardzo istotny. Zmienna $_SERVER['HTTP_REFERER'] jest wysyłana do serwera przez przeglądarkę i nie musi być tak zawsze.


RE: Blokowanie linkowania twoich obrazków na innych stronach - Admin - 20-11-2013 18:27

skoro już wspominasz o htaccess to mogłeś podać sposóbSmile

Nie podałeś więc ja dodam.

Otwieramy lub tworzymy plik .htaccess w głównym katalogu domeny i wpisujemy :

Kod PHP:
RewriteEngine on
 RewriteCond 
%{HTTP_REFERER} !^$
RewriteCond %{HTTP_REFERER} !^http://(www\.)?adres-naszej-strony.pl/.*$ [NC] 

A jeśli chcecie to możecie zrobić psikusa i na koniec dopisać:
Kod PHP:
RewriteRule \.(jpg|jpeg|gif|bmp)$ http://www. adres-naszej-strony.pl /no_hotlink.gif [R,L] 
Reguła ta wstawia specjalny obrazek w którym możecie podlinkować cokolwiek chcecie, może być to informacja o tym że nie będzie mógł ściągnąc obrazków i ich wykorzystać lub inna treść wybrana przez Ciebie - np reklamowa.

HF IdeaIdeaIdea


RE: Blokowanie linkowania twoich obrazków na innych stronach - GoodLecki - 20-11-2013 19:56

Sposoby na zabezpieczenie zdjęć
Jednak przed magicznym klawiszem PrintScreen nic was nie uchroni Smile
Warto se też poczytać To


RE: Blokowanie linkowania twoich obrazków na innych stronach - CreepyUploader - 20-11-2013 21:13

(20-11-2013 18:27)Admin napisał(a):  skoro już wspominasz o htaccess to mogłeś podać sposóbSmile

Nie podałeś więc ja dodam.

Otwieramy lub tworzymy plik .htaccess w głównym katalogu domeny i wpisujemy :

Kod PHP:
RewriteEngine on
 RewriteCond 
%{HTTP_REFERER} !^$
RewriteCond %{HTTP_REFERER} !^http://(www\.)?adres-naszej-strony.pl/.*$ [NC] 

A jeśli chcecie to możecie zrobić psikusa i na koniec dopisać:
Kod PHP:
RewriteRule \.(jpg|jpeg|gif|bmp)$ http://www. adres-naszej-strony.pl /no_hotlink.gif [R,L] 
Reguła ta wstawia specjalny obrazek w którym możecie podlinkować cokolwiek chcecie, może być to informacja o tym że nie będzie mógł ściągnąc obrazków i ich wykorzystać lub inna treść wybrana przez Ciebie - np reklamowa.

HF IdeaIdeaIdea


A gdzie to mam wpisać w .htacess ? byle gdzie?


RE: Blokowanie linkowania twoich obrazków na innych stronach - Admin - 26-11-2013 00:40

(20-11-2013 19:56)GoodLecki napisał(a):  Sposoby na zabezpieczenie zdjęć
Jednak przed magicznym klawiszem PrintScreen nic was nie uchroni Smile
Warto se też poczytać To

Masz racje dla chcącego nic trudnego, ale wiadomo ma to na celu głównie blokowanie transferu z własnego hostingu.


(20-11-2013 21:13)CreepyUploader napisał(a):  
(20-11-2013 18:27)Admin napisał(a):  skoro już wspominasz o htaccess to mogłeś podać sposóbSmile

Nie podałeś więc ja dodam.

Otwieramy lub tworzymy plik .htaccess w głównym katalogu domeny i wpisujemy :

Kod PHP:
RewriteEngine on
 RewriteCond 
%{HTTP_REFERER} !^$
RewriteCond %{HTTP_REFERER} !^http://(www\.)?adres-naszej-strony.pl/.*$ [NC] 

A jeśli chcecie to możecie zrobić psikusa i na koniec dopisać:
Kod PHP:
RewriteRule \.(jpg|jpeg|gif|bmp)$ http://www. adres-naszej-strony.pl /no_hotlink.gif [R,L] 
Reguła ta wstawia specjalny obrazek w którym możecie podlinkować cokolwiek chcecie, może być to informacja o tym że nie będzie mógł ściągnąc obrazków i ich wykorzystać lub inna treść wybrana przez Ciebie - np reklamowa.

HF IdeaIdeaIdea


A gdzie to mam wpisać w .htacess ? byle gdzie?

Jeśli nie używasz żadnych innych reguł to bezpośrednio wklejasz. Jeśli wkleisz na końcu też zadziała.