Запретить тянуть картинки на nginx

12
[Удален]
1742

Подскажите, как запретить сплогерам тянуть картинки с моего сайта, при условии, что у меня вся статика отдается nginx'ом.

Решение для htaccess нашел, но у меня они по понятной причине не работают.

D
На сайте с 28.06.2008
Offline
1114
#1

Присоедниняють, такая же ситуация - решение тоже ищу...

=DEREK=
На сайте с 07.05.2009
Offline
130
#2

Вот решение:


valid_referers blocked www.example.com example.com;
if ($invalid_referer) {
rewrite ^/images/uploads.*\.(gif|jpg|jpeg|png)$ http://www.examples.com/banned.jpg last
}
Показываю фокусы с Drupal (/ru/forum/526565)
[Удален]
#3
=DEREK=:
Вот решение:

это в настройки nginx писать нужно?

=DEREK=
На сайте с 07.05.2009
Offline
130
#4
Hekcfy:
это в настройки nginx писать нужно?

именно так, а там уже смотрите: или для всех хостов, или для отдельных.

[Удален]
#5
=DEREK=:
именно так, а там уже смотрите: или для всех хостов, или для отдельных.

А модуль ngx_http_referer_module при этом должен быть установлен? Он отдельно ставиться от nginx или идет вместе с ним?

S
На сайте с 23.05.2004
Offline
315
#6

Имхо надо локейшен описать для правила.

location ~ \.(jpg|jpeg|gif|mpg|mpeg|wmv|avi|flv)$ {

valid_referers none blocked server_names *.site.com/;
if ($invalid_referer) {
return 403;
}
}

Дополнительные модули не нужны.

Это просто подпись.
[Удален]
#7
Stek:
return 403;

я бы сделал тут не return 403; а rewrite н картинку аля hui_vam_a_ne_imagi.png

[Удален]
#8

что-то не работает у меня предложенный вариант :(

maxwell
На сайте с 29.04.2009
Offline
149
#9
Hekcfy:
А модуль ngx_http_referer_module при этом должен быть установлен? Он отдельно ставиться от nginx или идет вместе с ним?

Это вообще в core. Никакие модули не нужны. Проверьте на предмет listen, чтобы ненароком запросы на статику не отдавались апачу ☝

[Удален]
#10

Сейчас у меня такой конфиг в nginx, может я где-то допустил ошибку?


server {
listen ip моего сервера:80;
server_name domen.ru www.domen.ru;
location / {
proxy_pass http://domen.ru:8080/;
proxy_redirect off;

proxy_set_header Host $host;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;


client_max_body_size 10m;
client_body_buffer_size 128k;

proxy_connect_timeout 90;
proxy_send_timeout 90;
proxy_read_timeout 90;

proxy_buffer_size 4k;
proxy_buffers 4 32k;
proxy_busy_buffers_size 64k;
proxy_temp_file_write_size 64k;
}


location ~* ^.+\.(jpg|jpeg|gif|png|ico|css|zip|tgz|gz|rar|bz2|doc|xls|exe|pdf|ppt|txt|tar|wav|bmp|rtf|js|3gp|flv)$ {
root /var/www/vhosts/domen.ru/httpdocs/;
}

location ~ \.(jpg|gif|png)$ {
valid_referers none blocked server_names ~\.google\. images.yandex.ru;
if ($invalid_referer) {
rewrite ^(.*)$ /error.jpg redirect;
}
}

location ~ \.flv$ {
flv;
}

}
12

Авторизуйтесь или зарегистрируйтесь, чтобы оставить комментарий