Страница 1 из 1

nginx защита от hotlink

Добавлено: 2010-02-28 0:15:48
demonsked
Установил нгинкс, поставил DLE. Решил обезопаситься от хотлинкинга и чтоб шаблон не сперли, написал конфиг. Не работает защита. Все равно отдает файлы всем. Если прописать root не в секции server,а в локайшен тогда не отдает вообще и ищет файлы в директории по умолчанию

Код: Выделить всё

2010/02/27 05:02:36 [error] 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"

Код: Выделить всё

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;
        }
}

Re: nginx защита от hotlink

Добавлено: 2010-02-28 13:53:40
demonsked
Решено.
Причина в указателях реф none и blocked