[MOD REWRITE]Blokada przed hotlinkowaniem

H4eX

Użytkownik
Dołączył
Lipiec 1, 2010
Posty
13
Zrobiłem tak jak tu podano:
http://eriz.pcinside.pl/weblog/mod_rewrite...ac-208.html#t42

ale nie działa mi coś, (oczywiście adres zmieniłem)

.htaccess
PHP:
RewriteEngine On
RewriteCond %{HTTP_REFERER} !http://adres\.pl [NC]
RewriteRule ^(.+)\.(jpg|gif|jpeg|png)$ hotlink.php?img=$1.$2 [L]

Dałem też ten plik hotlink.php

PHP:
<?PHP
      if(empty($_GET['img']) OR !file_exists(basename($_GET['img'))){
          die;
      }
      $i = geimagesize(basename($_GET['img']));
      if(!$i){
          die;
      }
      $img = imagecreate($i[0], $i[1]);
      $col = imagecolorallocate($im, 0, 0, 0);
      imagestring($img, 5, 0,0, 'prawdopodobnie skradziony obraz, oryginal pochodzi ze strony: [url="http://example.org'%3b%29;"]http://example.org');[/url]
      header('Content-type: image/png');
      imagepng($img);
?>

Oczywiście serwer obsługuje rewriting.
 
Ostatnia edycja:

hxv

Były Moderator
Dołączył
Sierpień 9, 2006
Posty
797
Kilka błędów w hotlink.php, kod powinien wyglądać jakoś tak: http://pastebin.com/LEieASvF
Do tego zmieniłbym odrobinę .htaccess - http://pastebin.com/JPN25Hcg - pozwoli to na wyświetlanie obrazków użytkownikom, którzy z jakiegoś powodu mają wyłączone wysyłanie referera i nie będzie blokować bezpośrednich odwołań do plików.
 

H4eX

Użytkownik
Dołączył
Lipiec 1, 2010
Posty
13
Nie działa, ale jak np. nie wpiszę swojego adresu to znika każdy obrazek z mojej strony i jest wyświetlany ten napis.
 

hxv

Były Moderator
Dołączył
Sierpień 9, 2006
Posty
797
Upewnij się, że przeglądarka nie ma obrazka w cache i że przy sprawdzaniu faktycznie pobierasz z innej domeny. U mnie działa jak należy - obrazki na mojej stronie są wyświetlane normalnie, przy hotlinku pojawia się tekst.
 

H4eX

Użytkownik
Dołączył
Lipiec 1, 2010
Posty
13
Dzięki, działa :)

a co zrobić by tekst nie wychodził poza obszar obrazka?
 
Ostatnia edycja:
Do góry Bottom