403 dla określonych refererów w nginx
W serwisie klienta jest dużo plików graficznych, które są hotlinkowane. Generalnie klientowi to nie przeszkadza, bo uważa, że sieć jest od tego żeby się dzielić. Jest jedno ale. Jest parę serwisów które mają na tyle dużą oglądalność, że umieszczone tam grafiki pochłaniają po prostu za dużo pasma i należało by je zablokować.
Serwis serwowany jest za pomocą nginx‘a. Samo blokowanie hotlinków jest bardzo proste i w całej sieci można znaleźć mnóstwo przykładów, różniących się warunkiem w location, które sprowadzają się do następującej konfiguracji:
location ~ \.(jpg|png|gif)$ {
valid_referers server_names blocked none frienddomain.com *.frienddomain.com;
if ($invalid_referer) {
return 403;
}
}
W której wpisujemy listę dopuszczonych do hotlinkowania domen, pamiętając o słówku none, które oznacza brak referera.
Ale tak jak pisałem wcześniej, klient chciał zablokować tylko określone domeny, niech to będą foo.ba i bar.fo. Konfiguracja ostatecznie wygląda w taki sposób:
location / {
if ($http_referer ~* "foo.ba|bar.fo" ) {
rewrite .* /foo/ last;
}
[...]
}
location /foo {
return 403;
}
Szukaj
Tagi
ostatnio popularne wpisy
- Jak używać w odnośnikach użyć mailto
- WordPress na wiele języków
- Ostatnia wersja WPML na licencji GPL
- WPML stał się komercyjną wtyczką
- WordPress: Jak ustawić strony z wpisami?
- Jak zapytać facebook’a o liczbę „lubię to” dla konkretnego adresu?
- WordPress 3.3.2
- Wyświetlanie jednej kategorii wpisów na stronie głównej
- Tworzenie layoutu – krok po kroku
- WordPress: usuń zbędne kopie wpisów
ostatnie komentarze
- Tropienie błędów – 7 technik, które ułatwią życie programiście WordPressa | Webfaces blog o WordPress: klasa css dla tagu body
- Kasia o Jak zapytać facebook’a o liczbę „lubię to” dla konkretnego adresu?
- Marcin o WordPress: klasa css dla tagu body
- benek o WordPress: klasa css dla tagu body
- Mariusz o Jak zapytać facebook’a o liczbę „lubię to” dla konkretnego adresu?
- Marcin o WordPress 3.3.2
- Jakub Milczarek o WordPress 3.3.2
- jboss o O polskiej wersji WordPressa 3.3
- Marcin o Ostatnia wersja WPML na licencji GPL
- Marcin o Ostatnia wersja WPML na licencji GPL
Na razie nie ma żadnych komentarzy.
Dodaj komentarz
Należy wpełnić pola oznaczone znakiem gwiazdki "*". Proszę zapoznać się z zasadami komentowania.