Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: Blokowanie w .htaccess
Forum PHP.pl > Forum > Serwery WWW
szymek001
Witam, jak mogę zablokować w .htaccess hotlinkowanie obrazków, których link nie kończy się rozszerzeniem, tylko np.:
Kod
&h=150&w=150&zc=1


Mam coś takiego:
Kod
RewriteCond %{HTTP_REFERER} !^http://(.+\.)?stronajakas\.pl/ [NC]
RewriteCond %{HTTP_REFERER} !^$
RewriteRule .*\.(jpe?g|gif|bmp|png|zip|rar|jar|jad|exe)$ http://stronajakas.pl/404.htm [L]

ale ten kod nie blokuje obrazków, z których są robione miniaturki poprzez skrypt php... Jest na to jakiś sposób smile.gif ?
erix
Musisz sprawdzać QUERY_STRING, vide: Temat: ReWrite_Rule_ze_znakiem_zapytania_
szymek001
ok, a mogę
Kod
RewriteEngine On

RewriteCond %{QUERY_STRING} id=([^&;]*)
RewriteRule . index.php?asdasd=%1

dodać tak, by współgrał z moim obecnym ustawieniem:
Kod
RewriteCond %{HTTP_REFERER} !^http://(.+\.)?stronajakas\.pl/ [NC]
RewriteCond %{HTTP_REFERER} !^$
RewriteRule .*\.(jpe?g|gif|bmp|png|zip|rar|jar|jad|exe)$ http://stronajakas.pl/404.htm [L]

?
erix
No a popatrz, w jaki sposób są połączone RewriteCond?
szymek001
Jakoś mi to nie wychodzi:
Kod
RewriteCond %{HTTP_REFERER} !^http://(.+\.)?stronajakas\.pl/ [NC]
RewriteCond %{HTTP_REFERER} !^$
RewriteCond %{QUERY_STRING} id=([^&;]*)
RewriteRule .*\.(jpe?g|gif|bmp|png|zip|rar|exe|jpg&h=120&w=120&zc=1)$ [url="http://stronajakas.pl/404.jpg"]http://stronajakas.pl/404.jpg[/url] [L]



adres obrazka to np.:
Kod
http://stronka.pl/timthumb.php?src=http://serwernaobrazki.pl/obrazek.jpg&h=120&w=120&zc=1



próbowałem już różnych rzeczy, w stylu:
Kod
RewriteRule . timthumb.php?src=*
Kod
RewriteRule . timthumb.php?src=%1
ale chyba jednak nie bardzo to rozumiem.. ;]
erix
No jak ma działać, skoro w QS sprawdzasz parametr id, którego u Ciebie nie ma...?
szymek001
więc co ma być w parametrze id?
zegarek84
w samym skrypcie php generującym obrazki możesz też sprawdzić czy:
Kod
(parse_url($_SERVER['HTTP_REFERER'], PHP_URL_HOST)==$_SERVER['SERVER_NAME'])

jesli różne to albo nie wysłać obrazka albo wysłać całkiem inny.... ale to na to samo wychodzi co jakbyś z htaccessa kożystał winksmiley.jpg

no i na te regułki co są w htaccessie to jeszcze w php sprawdzić czy nie jest pusty referer jeśli mają nie otwierać samych obrazków ręcznie...
erix
Cytat
więc co ma być w parametrze id?

Nie co ma być, tylko w zalinkowanym wątku chodziło akurat o id, u Ciebie będzie sprawdzany inny atrybut, który musisz podać.
szymek001
czyli tak:
Kod
RewriteCond %{QUERY_STRING} src=([^&;]*)
RewriteRule . timthumb.php?src=%1

?
erix
A ciężko spróbować? tongue.gif
szymek001
no próbuje i albo nic to nie zmienia, albo mam błąd 500 ;D

Kod
RewriteCond %{HTTP_REFERER} !^http://(.+\.)?stronka\.pl/ [NC]
RewriteCond %{HTTP_REFERER} !^$
RewriteCond %{QUERY_STRING} src=([^&;]*)
RewriteRule .*\.(jpe?g|gif|bmp|png|zip|rar|exe|php?src=%1)$ http://obrazek.pl/404.jpg [L]


Co w tym jest nie tak?
erix
I jakim URL-em testujesz? Tym samym?
szymek001
adresy obrazków na innych stronach są wg takie:
Kod
http://stronka.pl/timthumb.php?src=http://serwernaobrazki.pl/obrazek.jpg&h=120&w=120&zc=1


Testuje na innej przeglądarce, z wyczyszczoną pamięcią podręczną i cache - normalne jpg,gif,png jest blokowane, ale to z timthumb.php już nie...
zegarek84
Cytat(szymek001 @ 15.07.2009, 02:34:17 ) *
....
ale ten kod nie blokuje obrazków, z których są robione miniaturki poprzez skrypt php... Jest na to jakiś sposób smile.gif ?

Cytat(szymek001 @ 15.07.2009, 23:08:17 ) *
adresy obrazków na innych stronach są wg takie:
Kod
http://stronka.pl/timthumb.php?src=http://serwernaobrazki.pl/obrazek.jpg&h=120&w=120&zc=1

Testuje na innej przeglądarce, z wyczyszczoną pamięcią podręczną i cache - normalne jpg,gif,png jest blokowane, ale to z timthumb.php już nie...

jaka jest dokłądnie sytuacja?? - ktoś robi u siebie an stronie miniaturki z Twoich obrazków??

jeśli wiesz kto/która strona to blokuj ją po IP gdyż jeśli gościu zna się na żeczy to po refererach tego nie sprawdzisz bo zawsze może to pobrać curl'em lub inaczej wysłać nagłówki... - pozatym te miniaturki może mieć już u siebie zapamiętane...
szymek001
tyle, że tu nie chodzi o jakąś jedną konkretną stronkę, tylko fora...
To jest wersja lo-fi głównej zawartości. Aby zobaczyć pełną wersję z większą zawartością, obrazkami i formatowaniem proszę kliknij tutaj.
Invision Power Board © 2001-2025 Invision Power Services, Inc.