nginx защита от hotlink
demonsked
nginx-forum на nginx.us
Вс Фев 28 00:34:50 MSK 2010
Установил нгинкс, поставил DLE. Решил обезопаситься от хотлинкинга и чтоб шаблон не сперли, написал конфиг. Не работает защита. Все равно отдает файлы всем. Если прописать root не в секции server,а в локайшен
location / {
root /home/***/www/public_html;
index index.html index.htm index.php;
Реврайты DLE ***
}
тогда не отдает вообще и ищет файлы в директории по умолчанию
2010/02/27 05:02:36 91714#0: *7 open() "/usr/local/etc/nginx/html/templates/Default/images/dlet_hder18-2.gif" failed (2: No such file or directory), client: 172.16.0.10, server: www.***, request: "GET /templates/Default/images/dlet_hder18-2.gif HTTP/1.1", host: "***", referrer: "http://***/templates/Default/main.tpl"
Если прописать root в локейшен где и проверяется реферер то также отдает все подряд.
server {
listen 80;
server_name www.***.net.ru ***.net.ru;
root /home/***/www/public_html;
#charset windows-1251;
access_log logs/sked.access.log main;
error_log logs/sked.error.log;
location ~ \.(gif|jpg|jpeg|png|js|css|rar|exe|sis|sisx|swf|txt|tpl)$ {
valid_referers server_names none blocked ~\.google\. images.yandex.ru;
if ($invalid_referer) {
return 403;
}
}
location / {
index index.html index.htm index.php;
Реврайты DLE ***
}
***
location /12081986/ {
alias /usr/local/www/phpMyAdmin/;
index index.php;
auth_basic "Private Zone";
auth_basic_user_file /usr/local/www/phpMyAdmin/.htpasswd;
}
error_page 500 502 503 504 /50x.html;
location = /50x.html {
root /usr/local/www/nginx-dist;
}
location ~ \.php$ {
root /home/***/www/public_html/;
fastcgi_pass unix:/tmp/php.sock;
fastcgi_index index.php;
fastcgi_param SCRIPT_FILENAME /home/***/www/public_html$fastcgi_script_name;
include fastcgi_params;
}
location ~ \.(cgi|pl)$ {
root /home/***/www/public_html/;
fastcgi_pass unix:/tmp/perl-fcgi.sock;
fastcgi_param SCRIPT_FILENAME /home/***/www/public_html$fastcgi_script_name;
include fastcgi_params;
}
location ~ /.ht {
deny all;
}
}
Posted at Nginx Forum: http://forum.nginx.org/read.php?21,58078,58078#msg-58078
Подробная информация о списке рассылки nginx-ru